• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAのChangeFileOpenDirectoryの部分がうまくいきません)

VBAでLAN内のフォルダに格納されているファイルを開く処理がうまくいかないエラーの原因と解決方法

このQ&Aのポイント
  • VBAのChangeFileOpenDirectoryを使用してLAN内のフォルダに格納されているファイルを開く処理を行いたいが、エラーが出ることがある。
  • エラーの原因は、フォルダのディレクトリを二度目以降のループ処理で正しく指定できていないことにある。
  • 解決方法は、ループの各処理の前にChangeFileOpenDirectoryでフォルダのディレクトリを正しく指定することである。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

連続でスミマセン。さらにもう一つ。 [OFF2003] [INFO] Visual Basic の事前バインディングを使用すると、 Office オートメーションでエラーまたは予期しない現象が発生する http://support.microsoft.com/kb/319832/ja このページ内の下記内容。 ・ "エラー 462" または "エラー -2147417848" : Quit メソッドを呼び出すなどして既に終了している Office インスタンス に対して、修飾されていないメソッドを使用しています。 実行するたびに Office アプリケーションの新しいインスタンスを作成する ように記述されたコードは、通常はタスクが終了するとインスタンスを閉じ ます。このコードを次に実行すると、修飾されていない呼び出しは失敗しま す。Visual Basic は直前のインスタンスを呼び出しますが、リモート サー バーはアンロードされています。 多分これかな? どこが原因なのかはコードを見ないとわかりませんが。

sakocchi
質問者

お礼

お騒がせしました。解決しました! ”修飾”などを確認している最中にハッとしました。 For文でループさせて、その 最後(ループ内)にQuitがあるのですが、 参考URLのサンプルを元にさせてもらいますが、 Set oXL = New Excel.Application oXL.Visible = True の部分がループに入る前、つまりループ外にいました。 気付くと単純なミスですね。 Setも色々例文を探しまくって転記したような感じがあり、 完全に理解出来ないまま使っていたのも原因です。 だんだんと分かってきました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんばんは。KenKen_SP です。 #1 の後、何となく思いあたったので取り合えず投稿してみます。 Word VBA の MSDN ライブラリを見て。 [参考URL引用] ChangeFileOpenDirectory メソッド メモ ユーザーが [ファイルを開く] ダイアログ ボックスでフォルダを変更 するか、Word の現在のセッションが終了するまで、指定したフォルダから 文書が検索されます。 この辺の内容に思い当たりますか? もう一つ。 Document.Open Filename:=ファイル名 でファイル名にはフルパスが使えます。ChangeFileOpenDirectory メソッド を止めて Open メソッドにフルパスを渡す方法に変えてみては?

参考URL:
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbawd11/html/womthChangeFileOpenDirectory1.asp
すると、全ての回答が全文表示されます。
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

Excel VBA で Word ファイルを開いてる? それとも逆ですか? コードを提示して下さい。それを見ないことには 何とも言えません。

すると、全ての回答が全文表示されます。

関連するQ&A