Board logo

標題: [發問] 文字檔利用錄製巨集,陣列被錄後成這樣子,如何解釋? [打印本頁]

作者: linshin1999    時間: 2010-12-25 21:45     標題: 文字檔利用錄製巨集,陣列被錄後成這樣子,如何解釋?

ChDir "C:\Users\VINCENT\我的資料檔\實驗\資料檔"
Workbooks.OpenText Filename:="C:\Users\VINCENT\我的資料檔\實驗\資料檔\實驗dat.txt", _
     Origin:=950, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array( _
     Array(0, 2), Array(4, 2), Array(7, 2), Array(9, 2), Array(11, 2), Array(12, 2), Array(14, 2) _
     , Array(16, 2), Array(18, 2), Array(20, 2), Array(22, 2), Array(24, 2), Array(26, 2), Array( _
     28, 2), Array(30, 2), Array(32, 2), Array(34, 1))

1)目前能理解的是:"實驗dat.txt"被分割成,0-4-7-9......-32-34,一欄一欄的資料,然後排列整齊的放進工作清單中,但是 Array(Array(0,2),Array(4,2).....Array(32,2),Array(34,1))中,Array( , )
   第一個引數是檔案的欄位分割,那第二個引數是什麼?

2)有Array( ,2),有 Array( ,1), 2和1 各代表的意義為何?
作者: Hsieh    時間: 2010-12-26 00:52

VBA說明:
FieldInfo 選用 Variant 包含個別資料欄剖析資訊的陣列。此轉譯會依 DataType 的值而定。當分隔資料時,此引數為二元素陣列的陣列,其中每個二元素陣列都會為特定欄指定轉換選項。第一個元素為欄編號 (從 1 開始),而第二個元素為其中一個 XlColumnDataType 常數,用以指定剖析欄的方式。
XlColumnDataType 常數代表意義
xlDMYFormat 4 DMY 日期格式。
xlDYMFormat 7 DYM 日期格式。
xlEMDFormat 10 EMD 日期格式。
xlGeneralFormat 1 一般。
xlMDYFormat 3 MDY 日期格式。
xlMYDFormat 6 MYD 日期格式。
xlSkipColumn 9 不剖析欄。
xlTextFormat 2 文字。
xlYDMFormat 8 YDM 日期格式。
xlYMDFormat 5 YMD 日期格式。
所以第一個元素可視為自串起始位置
第二元素代表該欄位的資料型態
學習VBA從錄製巨集開始,是最容易上手的方式
程式碼是一句你操作的動作一一轉譯成程式碼
再加上利用說明檔就能理解各個參數的代表意義
要取得說明,只要將由標停留在關鍵字上,按下F1就可取得說明檔
您可嘗試看看
作者: linshin1999    時間: 2010-12-26 14:50

謝謝版主對學習Vba來說可以不理會第二個二素的意義,但是那會一種像没吃飽飯的感覺,還有(F1)Key的使用,對初學者來說,有人點破真好,謝謝版主,大家加油.




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