Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


50355 / 76738 ←次へ | 前へ→

【31272】Re:Word Object Libraryの参照設定
回答  Kein  - 05/11/16(水) 14:00 -

引用なし
パスワード
   こーいうのは実際に扱ったことが無いので、こちらとしても手探りの状態ですが、
ヘルプを色々と調べていくうちに、参照設定の仕方としては

Application.VBE.ActiveVBProject.References.AddFromGuid("{000204EF-0000-0000-C000-000000000046}", 5, 0)

というようなコードで行うことが、分かってきました。
まず、ここで使っている "ActiveVBProject" や "References"コレクションの
ヘルプ自体が、標準の参照設定では出てきません(Excel2K)。なので容易に出せるよう
Microsoft Visual Basic For Applications ExtesiBility 5.?
に参照設定を付けて下さい。そうすることによって F1キー押下による一発呼び出し
が出来るようになります。もちろん、オブジェクト・ブラウザにも色々出てきます。
で、先のコードにおいて References コレクションのメソッドである
AddFromGuid のヘルプを調べてみて下さい。それで引数の内容が掴めると思います。
しかし問題は、第一引数 guid に渡す値を、どうやって取得すれば良いか ? という
ことです。これは「"Microsoft Word X.X Object Library" と名のつく参照の
全てにチェックをつけておき」

Sub Check_ID()
  Dim i As Long
 
  With Application.VBE.ActiveVBProject.References
   For i = 1 To .Count
     Debug.Print .Item(i).GUID
   Next i
  End With
End Sub

を実行して正しい値を知るしかありませんが、上のコードから逆に考えて、例えば
〜.Item(7).GUID などを渡してやるコードにしても良いと思われます。
また、設定をするのと反対に、チェックを外す Removeメソッド もあります。これも
References コレクションのメソッドとしてヘルプに見つかります。
つまり、Wordの Application.Version などのバージョンを取得するコードによって
条件分岐をし、それに上記のコード等を駆使してプログラムを組めば、出来ないことは
ない、というわけですね。ご自分でいろいろと試行錯誤されたらよろしいでしょう。

0 hits

【31266】Word Object Libraryの参照設定 hana 05/11/16(水) 11:09 質問
【31271】Re:Word Object Libraryの参照設定 小僧 05/11/16(水) 13:50 発言
【31272】Re:Word Object Libraryの参照設定 Kein 05/11/16(水) 14:00 回答
【31278】Re:Word Object Libraryの参照設定 小僧 05/11/16(水) 15:31 発言
【31291】Re:Word Object Libraryの参照設定 小僧 05/11/16(水) 16:58 発言

50355 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free