恩,这样就要用表单来设计了
我试做了一个 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