- ベストアンサー
Word2007でファイルを開いたときに文末に飛ぶには
Word2007でファイルを開いたときに文末に飛ぶにはどういうマクロを書けばいいのでしょうか? Word2002まではAutoOpenという名前のマクロに Selection.EndKey Unit:=wdStory と書くだけだったのですが、このマクロではWord2007では一度 文末までいってまた最初に戻ってきてしまいます??? ご教授よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >Microsoft Word Object >の中にはThis Documentという欄があります。 >標準モジュールは普段マクロを書くのに使っている場所ですよね。 Wordの場合は、Excelのように、基本的に、それほど多く、標準モジュールを使うことはありません。使っていけないようなことはありませんが、多少の使い分けはあります。それぞれには、特色があって、ThisDocument というのは、そのファイルの玄関のようなものです。言い換えると、開いたときに、一番先に、対応するものです。 Dim myClass As New Class1 Private Sub Document_Open() Set myClass.objApp = Application End Sub は、This Document に書くものです。 標準モジュールに書くと、 Dim myClass As New Class1 Sub Auto_Open() Set myClass.objApp = Application End Sub となります。多少、違いはあります。今まであったものは、削除してください。どちらに書いてもかまいませんが、どちらかというと、This Document のほうが反応が速いはずです。 >Class1というのは メニューから、挿入-クラスモジュールです。 画面(ペイン)が出てきますから、そこに貼り付けてください。 貼り付け終わったら、Ctrl+ S で、保存してしまってください。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 割り込み失礼します。 >調査中とあるので、マイクロソフトに早く対応してほしいなあ。 enunokokoroさんのご紹介になった文面は、英語情報がないようですね。それは、日本版だけなのかな?とりあえず、Classイベントに書き換えてみました。いずれ、マクロはこういうスタイルになるのは間違いないのですが……。人によっては、すごく難しくなったように感じるでしょうね。 ジャンプが一回きりでよければ、下のようにすればよいです。 MSのサポートの内容は、Activate を含めているので、ややこしい内容になっています。 'VBEから挿入 Class1 Public WithEvents objApp As Application Private Sub objApp_DocumentOpen(ByVal Doc As Document) ' On Error Resume Next ''エラーが発生したら、ここと下をはずしてください。 Selection.EndKey Unit:=wdStory ' On Error GoTo 0 End Sub '------------------------------------------ 'ThisDocument Dim myClass As New Class1 Private Sub Document_Open() Set myClass.objApp = Application End Sub
お礼
Wendy02さま 回答ありがとうございます。 すみません。VBがそれほど詳しくなく、普段は Subプロジージャでセルや行列に対して加工しているレベルです。 'VBEから挿入 Class1 Public WithEvents objApp As Application まず、この2文がよくわかりません。 Class1というのはどこに作るのですか? プロジェクトには Microsoft Word Object と 標準モジュール と 参照設定 の3つがあり、 Microsoft Word Object の中にはThis Documentという欄があります。 標準モジュールは普段マクロを書くのに使っている場所ですよね。 あと Private Sub objApp_DocumentOpen(ByVal Doc As Document) ' On Error Resume Next ''エラーが発生したら、ここと下をはずしてください。 Selection.EndKey Unit:=wdStory ' On Error GoTo 0 End Sub '------------------------------------------ 'ThisDocument Dim myClass As New Class1 Private Sub Document_Open() Set myClass.objApp = Application End Sub これらもどこに書くのでしょうか? すみません。ご教授いただけると助かります。
- enunokokoro
- ベストアンサー率74% (3543/4732)
Word2007を使用していないので対処方法を示せませんが、参考情報だけ 載せておきます。 Word マクロ有効文書 (.docm) 形式の Word 文書を開くときに Open イベントの Bookmarks.Select で指定したページが表示されない http://support.microsoft.com/kb/942482/ja おそらく、これと同じことが文末へのジャンプで起きているのではない かと思います。
お礼
enunokokoroさま ありがとうございます。 おそらくこれと同じ症状だと思います。 文頭に戻るとあるので。 このマクロ、私には難しすぎて手が出ませんでした。 ここにあるということはバグの一種なんですね。 調査中とあるので、マイクロソフトに早く対応してほしいなあ。
お礼
ありがとうございます!! できました! Wordでマクロを使うことは無いので勉強不足で。。。助かりました。 ありがとうございました。