※ ChatGPTを利用し、要約された質問です(原文:VBAのChangeFileOpenDirectoryの部分がうまくいきません)
VBAでLAN内のフォルダに格納されているファイルを開く処理がうまくいかないエラーの原因と解決方法
このQ&Aのポイント
VBAのChangeFileOpenDirectoryを使用してLAN内のフォルダに格納されているファイルを開く処理を行いたいが、エラーが出ることがある。
エラーの原因は、フォルダのディレクトリを二度目以降のループ処理で正しく指定できていないことにある。
解決方法は、ループの各処理の前にChangeFileOpenDirectoryでフォルダのディレクトリを正しく指定することである。
VBAのChangeFileOpenDirectoryの部分がうまくいきません
VBAでLAN内のフォルダに格納されているファイルを開く処理を行いたいのですが、
エラーが出ます。(下記参照)
実行時エラー'462'
リモートサーバーがないか、使用できる状態ではありません。
詳細ですが、
Excel2000をベースにWord2000を組合せてマクロを組んでいます。
まずExcelでシート内のファイル名とそのフォルダを指定してやり、
そのフォルダにある該当する名前のWord2000ファイルを
開いて印刷、そして一旦閉じるという処理です。
これをファイルやフォルダを変えてExcelのリストにある
全てのファイルを順々に印刷させていきたいのです。
ループ処理で順々に開いて印刷、そして閉じる為、
そのファイルが格納されているフォルダのディレクトリを
一回一回 ChangeFileOpenDirectory で指定することになります。
ループ処理の1回目はうまくいきました。
しかし、2回目からが上記のエラーが出て進みません。
最初からマクロを起動し直すと、やはり1回目のループだけ
うまくいきます。
ヘルプでも詳しく解説されていないので、参っています。
分かりにくい部分は補足しますので、
お力を貸して下さい。
お礼
お騒がせしました。解決しました! ”修飾”などを確認している最中にハッとしました。 For文でループさせて、その 最後(ループ内)にQuitがあるのですが、 参考URLのサンプルを元にさせてもらいますが、 Set oXL = New Excel.Application oXL.Visible = True の部分がループに入る前、つまりループ外にいました。 気付くと単純なミスですね。 Setも色々例文を探しまくって転記したような感じがあり、 完全に理解出来ないまま使っていたのも原因です。 だんだんと分かってきました。 ありがとうございました。