![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
VBAでLAN内のフォルダに格納されているファイルを開く処理を行いたいのですが、
エラーが出ます。(下記参照)
実行時エラー'462'
リモートサーバーがないか、使用できる状態ではありません。
詳細ですが、
Excel2000をベースにWord2000を組合せてマクロを組んでいます。
まずExcelでシート内のファイル名とそのフォルダを指定してやり、
そのフォルダにある該当する名前のWord2000ファイルを
開いて印刷、そして一旦閉じるという処理です。
これをファイルやフォルダを変えてExcelのリストにある
全てのファイルを順々に印刷させていきたいのです。
ループ処理で順々に開いて印刷、そして閉じる為、
そのファイルが格納されているフォルダのディレクトリを
一回一回 ChangeFileOpenDirectory で指定することになります。
ループ処理の1回目はうまくいきました。
しかし、2回目からが上記のエラーが出て進みません。
最初からマクロを起動し直すと、やはり1回目のループだけ
うまくいきます。
ヘルプでも詳しく解説されていないので、参っています。
分かりにくい部分は補足しますので、
お力を貸して下さい。
No.3ベストアンサー
- 回答日時:
連続でスミマセン。
さらにもう一つ。[OFF2003] [INFO] Visual Basic の事前バインディングを使用すると、
Office オートメーションでエラーまたは予期しない現象が発生する
http://support.microsoft.com/kb/319832/ja
このページ内の下記内容。
・ "エラー 462" または "エラー -2147417848" :
Quit メソッドを呼び出すなどして既に終了している Office インスタンス
に対して、修飾されていないメソッドを使用しています。
実行するたびに Office アプリケーションの新しいインスタンスを作成する
ように記述されたコードは、通常はタスクが終了するとインスタンスを閉じ
ます。このコードを次に実行すると、修飾されていない呼び出しは失敗しま
す。Visual Basic は直前のインスタンスを呼び出しますが、リモート サー
バーはアンロードされています。
多分これかな? どこが原因なのかはコードを見ないとわかりませんが。
お騒がせしました。解決しました!
”修飾”などを確認している最中にハッとしました。
For文でループさせて、その
最後(ループ内)にQuitがあるのですが、
参考URLのサンプルを元にさせてもらいますが、
Set oXL = New Excel.Application
oXL.Visible = True
の部分がループに入る前、つまりループ外にいました。
気付くと単純なミスですね。
Setも色々例文を探しまくって転記したような感じがあり、
完全に理解出来ないまま使っていたのも原因です。
だんだんと分かってきました。
ありがとうございました。
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 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでレジストリキーの...
-
PowerShellを使って関連付けら...
-
Returnに対するGoSubがありません
-
エクセルマクロでエラーの原因...
-
NAS上のファイルの使用中が解除...
-
「パス名が無効です」の発生原因
-
アクセスのクエリでコンパイル...
-
VBA ExecuteExcel4Macro 型が一...
-
Access2010 コンパイルエラー...
-
DisplayAlertsブロパティで ”実...
-
EXCELのVBAでWORDが開いてある...
-
ワークブックに名前をつけて保...
-
エクセル VBA dll 読み込...
-
gccを行ってもexeファイルが生...
-
VISIOは上位互換のはずなのにフ...
-
EXCELのVBAでの保存方法
-
VBAのChangeFileOpenDirectory...
-
ファイル アクセス権のエラーの...
-
ACCESS VBAでのインポート
-
freadでデータがない場合の読込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Returnに対するGoSubがありません
-
VBでファイルが開かれているか...
-
batファイルでレジストリキーの...
-
「パス名が無効です」の発生原因
-
FTPの送信結果を検知したい
-
アクセスのクエリでコンパイル...
-
ACCESS VBAでのインポート
-
VBから参照できないCのDLLを使...
-
VB6 Dir関数で52エラー発生
-
すでにファイルが開かれている...
-
freadでデータがない場合の読込...
-
access テキストボックスの値取得
-
fgets関数のEOFの扱い方について
-
NAS上のファイルの使用中が解除...
-
Access2013にてドラッグ&ドロ...
-
【COBOL】read文でエラー
-
エクセル VBA dll 読み込...
-
PowerShellを使って関連付けら...
-
アクセスでイベントのロジック...
-
エクセルマクロでエラーの原因...
おすすめ情報