• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2010でWORD差込VBA実行後終了)

Access2010でWORD差込VBA実行後終了

このQ&Aのポイント
  • Access2010でWORDの差込を実行するVBAを組み、成功したが、保存時に問題が発生
  • 必ず「未保存の文書1を保存しますか?」とWORDが聞いてくる問題に対処する方法を知りたい
  • 問題の解決方法についてアドバイスをいただきたい

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

段々と怪しさ度が増してきているような気がしますけど(気のせい?) もしかしたら、終了時の問題では無くてその前の処理で Word のオブジェクトの扱い方に問題があるのかもしれません。 >WordApp.Application.ActiveDocument.SaveAs FileName:=WName, FileFormat:=1 のあたりで、F9 で一旦止めてからタスクマネージャでプロセスを見た時に WinWord.exe が複数立ち上がっていませんか? Wordの解説が見つからなかったので、Excel でのお話ですが http://homepage1.nifty.com/rucio/main/technique/teq_15.htm Wordに読み替えてみてください。 もしも、WinWordが複数立ち上がっていたのなら どこかで扱い方を間違えているのでしょうから コードの最初の方(・・・Createobject("Word.Application"・・とかかな?)の 辺りで F9 でブレークポイントを設定し、ステップ実行しつつ タスクマネージャで新たなWinWord.EXE が立ち上がってこないか確認してみては? 最初は一個しかないものが二個になった時の処理行が問題だということになります。 かなり妄想で回答していますので全く役立たずかも、ご参考までに。 それとももしかして、これも関係してくる? Word を終了するたびに全文書対象のテンプレート Normal.dot または Normal.dotm への変更を保存するかどうかを確認するメッセージが表示される http://support.microsoft.com/kb/291352/ja あまり惑わすような珍怪答をしてはマズイので、私はこの辺で消えます。ごめんなさいね。

oraho
質問者

お礼

おかげさまで解決しました! COM Add-Inの一部が引き起こしていたようです 丁寧に教えていただき、感謝しております

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

前回は拙い回答ですみませんでした。 今回のもかなり怪しいのですが・・ 文書1 ということは新規のドキュメントの暫定的な名前ですよね。 それとも、文書1というファイルに対して変更を加え、別名保存しているのでしょうか? コードを全て提示してもらわないと回答は難しいかと思います。 (私には分からないかも知れません) とりあえず、『臭いものに蓋』式の良くない対処法 WordApp.Quit を WordApp.Quit Savechanges:=false なら閉じること自体は出来そう?です。

oraho
質問者

補足

先般来、いろいろとご教示いただきありがとうございます おかげさまで、WordApp.Quit Savechanges:=falseにしたところ、メッセージはでなくなり無事解決しました。 ところが、一難去ってまた一難で、文書は正常に別ファイル名で保存でき、WORDも無事終了したにもかかわらず、[WORDはこの文書を保存できませんでした。別の箇所で使用されています]というメッセージが出ます。英語版OFFICE2010を使用していますので正確には[Word cannot save this file because it is already open elsewhere. (c:\users\...\Templates\normal.dotm]という表示です。この表示をなくす方法がありましたら、教えていただけませんでしょうか? 保存の箇所は下記のとおり記載しています '文書を保存する。 WName = ”AAA" & Me.sashikomi & ".doc" WordApp.Application.ActiveDocument.SaveAs FileName:=WName, FileFormat:=1 'Wordを終了する。 WordApp.Application.ActiveDocument.Close WordApp.Quit Savechanges:=False Set WordApp = Nothing Set doc = Nothing