重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Windows XP+Word2003で、文書を開いた時に直前の編集位置に飛ばすために、標準モジュールに以下のコードを設定しているのですが…
  Sub AutoOpen()
    Application.GoBack
  End Sub
以前は動いていたのですが、いつの間にか動かなくなってしまいました。

Application.GoBackの前にMsgBoxを追加すると、文書を開いた時にちゃんと文字が表示されるので、AutoOpen()には飛んで来ています。
また、ツール→マクロでAutoOpenを実行すると、期待通り直前の編集位置にジャンプします。
また、文書を開いた時にShift+F5を押すと、やはりちゃんとジャンプします。

特定の文書ファイルだけではなく、どのファイルでも同じです。

標準モジュールを一旦解放して作り直したり、Officeを再インストールしたり、その他色々試してみましたが、どうしても直りません。
原因として、何が考えられるでしょうか?

A 回答 (1件)

こんにちは。



原因は分かりません。それは、Word 2003 としては、Microsoft サポートにも出ていませんが、こちらも同じです。当面は、標準モジュールはやめて、[ThisDocumentモジュール]側に入れてみてください。

Private Sub Document_Open()
 On Error Resume Next
  Application.GoBack
 On Error GoTo 0
End Sub

うまく行かなかった場合は、以下を参考にして、Word 2007用の方法も可能です。

http://support.microsoft.com/kb/942482/ja
Word マクロ有効文書 (.docm) 形式の Word 文書を開くときに Open イベントの Bookmarks.Select で指定したページが表示されない

ただし、Word 2003 で、Office Converter アドインを使って、Word 2007 のDocument を開くと、おそらくハングしますから、そのマクロの考え方自体を編集しないといけません。
    • good
    • 0
この回答へのお礼

たいへん有益なご回答をありがとうございます。

上記のようにThisDocumentに入れてもダメだったので、他の情報も参考にしながらNORMAL.DOTにClassイベント方式で作成したところ、うまく動くようになりました。
ThisDocument内にまとめた場合と比べてちょっと遅いですが、どの文書ファイルでも利用できるようにするには、やむを得ないですね。

なお、「以前は動いていた」というのは、どうもWord2000と勘違いしていたようです。

お礼日時:2008/03/17 19:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!