Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


20402 / 76732 ←次へ | 前へ→

【61750】Opentextについて
質問  dtaro  - 09/5/31(日) 23:01 -

引用なし
パスワード
   カンマ付のテキストファイルを処理する必要があるため、マクロを作ろうとしています。まず、マクロの記録で以下の

Sub Macro1()
' Macro1 Macro
  ChDir "D:\"
  Workbooks.OpenText Filename:="D:\test.txt", Origin:=932, StartRow:=1, _
    DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _
    :=False, Tab:=True, Semicolon:=False, Comma:=True, Space:=False, _
    Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 1), _
    Array(5, 1), Array(6, 1), Array(7, 2), Array(8, 2)), TrailingMinusNumbers:=True
End Sub

FieldInfo=の部分について動的に対応しようと思い、

Function MakeArrayString(ByVal cnt As Integer) As String
Dim i As Integer
Dim str As String
For i = 1 To cnt
 If i <> 1 Then
  str = str & ",(" & i & ", 2)"
 Else
  str = "Array(1, 2)"
 End If
Next
MakeArrayString = str
End Function

という関数を作成、

' Macro1 Macro
'
  Dim ar As String
  
  ar = MakeArrayString(8)
'
  ChDir "D:\"
  Workbooks.OpenText Filename:="D:\test.txt", Origin:=932, StartRow:=1, _
    DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _
    :=False, Tab:=True, Semicolon:=False, Comma:=True, Space:=False, _
    Other:=False, FieldInfo:=Array(ar), TrailingMinusNumbers:=True
End Sub

としてみたところ、
実行時エラー 1004
Opentextメソッドは失敗しました。
で失敗します。

環境 OS XP Pro + Excel2002(会社) Excel2007(自宅)

対処方法を教え願います。

※テストで作ったサンプルのテキストファイル
a,3333,4658789132,dffdfdsfds,effg,gr44,2332fdsfd,4551321356
dsfsd,2565,486846543,fdsfds,fdsfdfdsf,sd,fdsfdsf,fdsfdv
das4wr43t54y,ttdhtfhfgj,yg,gkukuykuy,gdfdd,f,dsfdsfdsfd,nfvdfvs
adada,fsd,sd,sf,gdfdd,gdgdhdh,fdbcvbcgnvhmhjjk,",jihmh"
1 hits

【61750】Opentextについて dtaro 09/5/31(日) 23:01 質問
【61751】Re:Opentextについて kanabun 09/5/31(日) 23:28 発言
【61752】Re:Opentextについて dtaro 09/6/1(月) 0:23 お礼

20402 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free