• 締切済み

オブジェクト変数の取得について

以下のように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

みんなの回答

  • i536
  • ベストアンサー率32% (75/231)
回答No.4

先ほど 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.3

あ、No.2が正しそう。 No.1は取り下げます。

  • i536
  • ベストアンサー率32% (75/231)
回答No.2

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 )

tariran
質問者

補足

すみません。補足です アドバイスくださったように記述しているのですが、エラーになってしまうのです。 あ~~どうすれば・・・

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

Workbooksってコレクションだから、ブック名を指定するか、ActiveWorkBookを参照する必要があるのでは。 あてずっぽうですが。

関連するQ&A

専門家に質問してみよう