|
kanabunさん
ご指導ありがとうございます。
教えて頂いた方法でマクロ記録を行い、VBScriptから「.txt」のファイルを開いたところ、全角文字列「3−1」として正しくデータ認識する事ができました。ありがとうございました。
ついでで申し訳ないのですが教えてください。
上記.txtファイルはLF改行により2レコード存在しているのですが、
1レコード目は正しくVBScriptでデータを取得できるのですが2レコード目が取得されず次のようなダイアログが出てしまいます。
実行時エラー'9':
インデックスが有効範囲にありません。
「.txt」ファイルの中身は以下のようになっています。
20090705000000,12345678901234,,,,,・・・[LF改行]
20090705000000,12345678901234,,,,,・・・[LF改行]
[EOF]
エラーとなるソースを以下に示します。
Workbooks.OpenText Filename:=(txtファイル) _
, Origin:=932, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlNone, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma _
:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, _
2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2) _
, Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15, 2), Array( _
16, 2), Array(17, 2), Array(18, 2), Array(19, 2), Array(20, 2), Array(21, 2), Array(22, 2), _
Array(23, 2), Array(24, 2), Array(25, 2), Array(26, 2), Array(27, 2), Array(28, 2), Array( _
29, 2), Array(30, 2), Array(31, 2), Array(32, 2), Array(33, 2), Array(34, 2), Array(35, 2), _
Array(36, 2), Array(37, 2), Array(38, 2), Array(39, 2), Array(40, 2), Array(41, 2), Array( _
42, 2), Array(43, 2), Array(44, 2), Array(45, 2), Array(46, 2), Array(47, 2), Array(48, 2), _
Array(49, 2), Array(50, 2), Array(51, 2), Array(52, 2), Array(53, 2), Array(54, 2), Array( _
55, 2), Array(56, 2), Array(57, 2), Array(58, 2), Array(59, 2), Array(60, 2), Array(61, 2), _
Array(62, 2), Array(63, 2), Array(64, 2), Array(65, 2), Array(66, 2), Array(67, 2), Array( _
68, 2), Array(69, 2), Array(70, 2), Array(71, 2), Array(72, 2), Array(73, 2), Array(74, 2), _
Array(75, 2), Array(76, 2), Array(77, 2), Array(78, 2), Array(79, 2), Array(80, 2), Array( _
81, 2), Array(82, 2), Array(83, 2), Array(84, 2), Array(85, 2), Array(86, 2), Array(87, 2), _
Array(88, 2), Array(89, 2), Array(90, 2), Array(91, 2), Array(92, 2), Array(93, 2), Array( _
94, 2), Array(95, 2), Array(96, 2), Array(97, 2), Array(98, 2)), TrailingMinusNumbers _
:=True
Workbooks(txtファイル).Activate
Sheets(txtシート).Select
For Line = 1 To 2
ID = Worksheets(txtシート).Cells(Line, 2) ←エラー発生箇所
Next Line
Workbooks(txtファイル).Close
何がエラーの原因なのか皆目わかりません。
ご指導をよろしくお願いいたします。
▼kanabun さん:
>▼会社員 さん:
>>
>>>ファイルの拡張子を *.txt に変更(*.txt という複製を作る)
>>>ことも不可ですか?
>>それは可能です。
>
>それが可能なら、FileCopyステートメントなどを使って拡張子だけ*.txt
>に変更したファイルのほうを開く操作を
>Excel上でマクロ記録してみてください。
>
>*.txtなどのファイルを Excelメニューから[ファイル]-[開く]すると
>テキストファイルウィザードが開くので、その
>ウィザードの 3/3 で 列ごとのデータ型の指定ができます。
>データ型をデフォルトの「標準」でなく、
>文字列型とか、
>日付型の列なら 「YMD」とかの指定ができます。
|
|