恩,這樣就要用表單來設計了
我試做了一個 VB6 專案 : Run macros
可以以特定 巨集名稱 批次執行大量 Word 文件,請參考
但是你將 NewMacros 從 Word 抽取出來了吧,其實不需要那個模組
將 巨集 直接儲存在 Word 文件裡面 即可從 外部執行
底下附的檔案解壓縮後,到 [Program] 找已經編譯的程式 Run macros.exe
可以將 [VB6 Project]\[Documents] Test\testing.doc 這個我做的測試文件拖曳到 程式裡面 試試看
由於巨集包含在 testing.doc 裡面,因此只需要特定的巨集名稱就能執行大量的 文件
唯一的缺點是 巨集名稱是固定的 (底下的程式設定為 macro1 ) ,我有看到其他人能取得 文件內 巨集的程式碼
但我剛剛測試,他說不允許用外部程式編輯,我可能能力不足,也只好作罷
VB6 專案在 [VB6 Project] 內,可以自行編輯
要注意,裡面的三個模組都是程式本身自行使用的,並非抽取出來的巨集
核心程式碼: (位於 mod_macros 模組)
複製程式
Public Sub run_macros_prebuild()
On Error GoTo Err1
Set objapp = CreateObject("Word.Application")
With objapp
.Visible = set_appvisible
End With
appstatus = 1
Exit Sub
Err1:
MsgBox "發生未知錯誤,無法建立 Word 元件 " & vbNewLine & Err.Description
End Sub
Public Sub run_macro(ByRef name As String, ByRef dir As String, ByRef outputdir As String)
If appstatus = 0 Then run_macros_prebuild
On Error GoTo Err1
With objapp
.Documents.Open FileName:=dir
.Run name 'Run macros
With objapp.ActiveDocument.Content.Find
'Add something here
End With
.ActiveDocument.SaveAs force_dir(Replace(outputdir, "%Appdir%", App.Path)) & get_filename(dir)
.Documents.Close
End With
Exit Sub
Err1:
MsgBox "發生未知錯誤 " & vbNewLine & Err.Description
End Sub
最主要的程式碼是這一行,建立 Word 的元件
Set objapp = CreateObject("Word.Application")接著就能用 objapp 去控制 Word 的周遭環境
舉凡 開啟檔案、關閉檔案、控制 Word視窗、控制文件內容等 都能以 objapp 的成員來控制
可以上網搜尋 Word.Application, VB 控制 Word 等關鍵詞來找更詳細的文章
另外我參考的一些網頁 (也附在 [VB6 Project]\[References]\Word.Application.txt ):
http://tw.knowledge.yahoo.com/quest...d=1508050802551http://phorum.study-area.org...opic=34203.0http://tw.knowledge.yahoo.com/quest...d=1508051901894http://blog.tenyi.com/2007/...dmacro.html