こんばんは。
ご質問で、Wordのマクロが出ていないし、Webページとして保存する意味が、私には正しく理解できていないので、なんともいえませんが、VB6なら、Wordのマクロを起動せずに、最初から、Wordで作ってしまえばWordマクロは必要ないのではありませんか。
それが、Command1 です。Command2 は、Wordマクロを起動させるコードです。
Private Sub Command1_Click()
Dim wdNewDoc As Object
Const WD_FILENAME As String = "Sample.html"
If Me.Text1.Text = "" Then Exit Sub
With CreateObject("Word.Application")
Set wdNewDoc = .Documents.Add
.Selection.InsertBefore Text:=Me.Text1.Text
wdNewDoc.SaveAs WD_FILENAME, 8 'HTML
wdNewDoc.Close
.Quit
End With
End Sub
以下は、マクロは、起動するけれども、Wordのマクロを外部から起動させるのは初めてなので、良いのか悪いのか分りません。Excelとは仕様が違うような気がしました。ドキュメントをオープンしないと、マクロが立ち上がらないのは、何かヘンだなって思います。なお、Module1 にあるTEST1 というがマクロ名です。
Private Sub Command2_Click()
Const WD_FILENAME As String = "C:\TestMacro.Doc"
If Me.Text1.Text = "" Then Exit Sub
On Error GoTo errHandler
With CreateObject("Word.Application")
.Documents.Open WD_FILENAME
'ここでマクロ処理
.Application.Run "Module1.TEST1"
.Documents(WD_FILENAME).Close False
errHandler:
.Quit
End With
End Sub
お礼
>VB6なら、Wordのマクロを起動せずに、最初から、Wordで作ってしまえばWordマクロは必要ないのではありませんか たしかに・・。そうですね。気付きませんでした。 詳しくコードまで乗せていただきありがとうございました。