Excel VBA質問箱 IV

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

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


47005 / 76732 ←次へ | 前へ→

【34693】Re:エクセルのマクロからWORDのマクロを使用したい。
発言  ichinose  - 06/2/9(木) 21:19 -

引用なし
パスワード
   ▼まじゅんや さん:
こんばんは。

>エクセルのVBAを用いて、エクセルファイル、WORDファイルのオープンなどを行いたいのですが、参照設定などを用いてWORDのマクロをエクセル上で認識させれないでしょうか?

この「WORDのマクロをエクセル上で認識させれないでしょうか」
とは、Excel/VBAからWord/VBAを実行したいということですか?

もしそうだとしたら・・・、

Word側のマクロを含んだDocumentを「wdvba.doc」とします。
このDocumentの

標準モジュールには、

'==============================================
Sub mdl1_test()
  MsgBox "mdl1_testの実行"
End Sub

又、ThisDocumentのモジュールに

'==============================================
Sub document_test()
  MsgBox "Document_Testの実行"
End Sub

という二つのプロシジャーをExcelブックから実行させることを考えます。

と、ここまで本来ならば、まじゅんや さんが記述しなければならないのですよ。

Excel側のコードです。

尚、「wdvba.doc」と「Wdcalltest.Xls」は同じフォルダ上にあるとします。
VBAコードは、「Wdcalltest.Xls」というブックの標準モジュールに
記述します。

'================================================================
Sub main()
  Dim wdapp As Object
  Dim wddoc As Object
  Set wdapp = CreateObject("word.application")
  With wdapp
    .Visible = True
    Set wddoc = .Documents.Open(ThisWorkbook.Path & "\wdvba.doc")
    .Run "[wdvba.doc]!mdl1_test" '標準モジュールの実行
    wddoc.document_test  'Thisdocumentモジュールの実行
    wddoc.Close False
    .Quit
    End With
  Set wddoc = Nothing
  Set wdapp = Nothing
 
End Sub

でmainを実行してみて下さい

0 hits

【34686】エクセルのマクロからWORDのマクロを使用したい。 まじゅんや 06/2/9(木) 19:45 質問
【34693】Re:エクセルのマクロからWORDのマクロを使... ichinose 06/2/9(木) 21:19 発言

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