- 締切済み
オブジェクト変数の取得について
以下のようにOpenTextでファイルを開いてそれをオブジェクト変数に取得したいのですが 「Functionまたは変数が必要です」というエラーになります。 どなたかご教示ねがえませんでしょうか? よろしくお願いいたします。 Set WorkBookObject =Workbooks.OpenText FileName:=strPath & strTxt, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _ Comma:=True, Space:=False, Other:=False, FieldInfo:=aryCell
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- i536
- ベストアンサー率32% (75/231)
先ほど Excel2000でおっしゃる事柄を確認しました、 確かにエラーがでました(汗)。 OpenTextメソッドは、Workbookオブジェクトを返さないみたいです。 したがって、SETは不要で、下記のような記述で正常に動作しました。 Workbooks.OpenText FileName:=strPath & strTxt, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _ Comma:=True, Space:=False, Other:=False, FieldInfo:=aryCell オブジェクト変数WorkBookObjectに開いたWorkBookを代入したければ、 上記文を実行後にはWorkbooksコレクションにWorkbookが1つ追加されていますので 下記方法で代入するといいです。ただし、括弧内の数字2は環境で変わります。 Set WorkBookObject =Workbooks(2)
- osamuy
- ベストアンサー率42% (1231/2878)
あ、No.2が正しそう。 No.1は取り下げます。
- i536
- ベストアンサー率32% (75/231)
OpenTextメソッドの後に引数を囲む括弧が必要だとおもいますよ。 下記のようにです。 Set WorkBookObject =Workbooks.OpenText ( FileName:=strPath & strTxt, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _ Comma:=True, Space:=False, Other:=False, FieldInfo:=aryCell )
- osamuy
- ベストアンサー率42% (1231/2878)
Workbooksってコレクションだから、ブック名を指定するか、ActiveWorkBookを参照する必要があるのでは。 あてずっぽうですが。
補足
すみません。補足です アドバイスくださったように記述しているのですが、エラーになってしまうのです。 あ~~どうすれば・・・