|
▼まじゅんや さん:
こんばんは。
>エクセルの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を実行してみて下さい
|
|