Board logo

標題: [發問] 有關 2010 ColumnWidths 發生錯誤 [打印本頁]

作者: dechiuan999    時間: 2010-10-21 10:21     標題: LISTBOX的COLUMNSWIDTH會出現錯誤訊息呢?

各位大大好:

   小弟想學習LISTBOX的COLUMNSWIDTH
並直接引用OFFICE說明內的範例。
   今執行該範例的COMMAND之後會出現如下的錯誤訊息。
小弟目前是使用OFFICE PROFESSIONAL 2010的版本。  

語法如下:
Dim MyArray(2, 3) As String

Private Sub CommandButton1_Click()
    'ColumnWidths requires a value for each column
    'separated by semicolons
    ListBox1.ColumnWidths = TextBox1.Text & ";" _
        & TextBox2.Text & ";" & TextBox3.Text
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As _
    MSForms.ReturnBoolean)
    'ColumnWidths accepts points (no units), inches
    'or centimeters; make inches the default
    If Not (InStr(TextBox1.Text, "in") > 0 Or _
     InStr(TextBox1.Text, "cm") > 0) Then
        TextBox1.Text = TextBox1.Text & " in"
    End If
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As _
    MSForms.ReturnBoolean)
    'ColumnWidths accepts points (no units), inches
    'or centimeters; make inches the default
    If Not (InStr(TextBox2.Text, "in") > 0 Or _
     InStr(TextBox2.Text, "cm") > 0) Then
        TextBox2.Text = TextBox2.Text & " in"
    End If
End Sub
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    'ColumnWidths accepts points (no units), inches or
    'centimeters; make inches the default
    If Not (InStr(TextBox3.Text, "in") > 0 Or _
     InStr(TextBox3.Text, "cm") > 0) Then
        TextBox3.Text = TextBox3.Text & " in"
    End If
End Sub
Private Sub UserForm_Initialize()
Dim i, j, Rows As Single

ListBox1.ColumnCount = 3
Rows = 2

For j = 0 To ListBox1.ColumnCount - 1
    For i = 0 To Rows - 1
        MyArray(i, j) = "Row " & i & ", Column " & j
    Next i
Next j
'Load MyArray into ListBox1
ListBox1.List() = MyArray
'1-inch columns initially
TextBox1.Text = "1 in"
TextBox2.Text = "1 in"
TextBox3.Text = "1 in"
End Sub

謝謝各位大大。
作者: et5323    時間: 2010-10-21 10:55

设置textbox的columnwidths属性,不要带单位:
ListBox1.ColumnWidths = "100;100;100"
而不是:
ListBox1.ColumnWidths = "100 in;100 in;100 in"
作者: dechiuan999    時間: 2010-10-21 13:05

謝謝大大。

如果依大大的方式
也就無法自行設定為
IN 或是 CM 了。
而HELP說明也有特別列出
其設定的方法,這又是如何
解釋呢?

設定 效果

90;72;90 第一行為 90 點 (1.25 英吋);第二行為 72 點 (1 英吋);第三行為 90 點。
6 cm;0;6 cm 第一行為 6 公分;第二行隱藏;第三行為 6 公分。
但第三行有一部分是看不到的,所以會有捲軸出現。
1.5 in;0;2.5 in 第一行為 1.5 英吋;第二行隱藏;第三行為 2.5 英吋。
2 in;;2 in 第一行為 2 英吋;第二行為 1 英吋 (預設);第三行為 2 英吋。
但第三行有一半是看不到的,所以會有捲軸出現。
(空白) 三行都一樣寬 (1.33 英吋)。

感恩大大!
作者: GBKEE    時間: 2010-10-21 14:49

回復 3# dechiuan999
在2003版 執行你的附檔 並沒有錯誤發生啊
在2003版 可自行設定為IN 或是CM 的 下列寫法沒錯
ListBox1.ColumnWidths = "100 in;100 in;100 in"
ListBox1.ColumnWidths = "100 cm;100 cm;100 cm"
作者: dechiuan999    時間: 2010-10-21 15:26

版主大大你好:

   小弟是因將此附檔
移至公司最近購置office2010專業版
的電腦使用,卻發現二者不相容,
才感覺很困惑。而且office2010版之
說明也是可設定in or cm 呢?

感恩大大!
作者: GBKEE    時間: 2010-10-22 07:33

而且office2010版之
說明也是可設定in or cm 呢?
dechiuan999 發表於 2010-10-21 15:26

2003版VBA說明中也有一些編輯上的錯誤.
你的提問讓2010版使用者有所了解.
作者: dechiuan999    時間: 2010-10-22 08:47

感恩版主大大。

近日常常向版主大大
請益,小弟真是受益良多。
實在很感激大大的相助。

感恩大大!
作者: ltc    時間: 2011-3-6 12:00     標題: 有關 2010 ColumnWidths 發生錯誤

本帖最後由 ltc 於 2011-3-6 12:10 編輯

[attach]4930[/attach]

此程式在 EXCEL 2007 已執行數個月沒有問題
最近換裝 2010 後就無法執行
發生錯誤的程式碼是
.ColumnWidths = "1.2cm;7.5cm;0cm;0cm"
這一列

如改為
.ColumnWidths = "35;200;56"
程式就可以正常運作

請問各位大大知道為何會這樣嗎?
再也不能使用CM嗎?
這樣很困擾,為了2010我將要更改很多程式
作者: Hsieh    時間: 2011-3-6 14:55

回復 1# ltc


    使用單位必須空一格
.ColumnWidths = "1.2 cm;2.5 cm;35;60"
所以你可利用取代功能,將所有"cm"改成" cm"即可
作者: ltc    時間: 2011-3-6 16:13

本帖最後由 ltc 於 2011-3-6 16:15 編輯

我空格了,還是不行
:)
還請版主幫幫忙一下
感恩

office 2010 官方 試用版下載
http://www7.buyoffice.microsoft.com/twn/product.aspx?sku=10234641&cache=664980274&culture=zh-TW
作者: ltc    時間: 2011-3-6 16:19

本帖最後由 ltc 於 2011-3-6 16:21 編輯

回復 5# dechiuan999
版主大大你好:

   小弟是因將此附檔
移至公司最近購置office2010專業版
的電腦使用,卻發現二者不相容 ...
dechiuan999 發表於 2010-10-21 15:26





請問您解決了嗎?
我也遇到了,不知要怎麼辦

http://forum.twbts.com/viewthrea ... amp;extra=#pid15721
作者: Hsieh    時間: 2011-3-6 19:11

本帖最後由 Hsieh 於 2011-3-6 19:12 編輯

回復 10#
    我用2010版本測試過了沒問題的
作者: ltc    時間: 2011-3-7 09:24

本帖最後由 ltc 於 2011-3-7 09:26 編輯

OFFICE 2010 採用官方網路下載試用版 及 家用盒裝版(可裝三台)

目前測試結果
WIN7 先裝 OFFICE 2007 OK 再裝 OFFICE 2010 就會發生錯誤,而且連2007原本沒問題也會發生錯誤
連續測試兩台都一樣

第三台
WIN7 先裝 OFFICE 2010 發生錯誤 再裝 OFFICE 2007 也發生錯誤不能用

第四台
XP 先裝 OFFICE 2007 OK 再裝 OFFICE 2010 就會發生錯誤,而且連2007原本沒問題也會發生錯誤

猜測是否哪個VBA工具內(引用項目)未開啟

煩請各位大大,指點一下

請問版主您的 OFFICE 2010 是哪一版?
作者: kimbal    時間: 2011-3-9 20:42

或許ltc兄可以上傳一下檔案來看看嗎?
作者: ltc    時間: 2011-3-11 15:34

麻煩各位大大了
謝謝
作者: Hsieh    時間: 2011-3-11 17:46

本帖最後由 Hsieh 於 2011-3-11 17:49 編輯

回復 15# ltc


   測試並無錯誤
[attach]4968[/attach]
[attach]4970[/attach]
作者: ltc    時間: 2011-3-13 11:09

請教Hsieh 版主大大,是否可以建議我朝哪方面去處理?
感恩

其他有2010 EXCEL 的大大,可幫忙測試一下嗎?
謝謝




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)