我有一个应用程序动态插入VBA代码,以帮助建立一个适当的书签的MS Word文档。 VBA代码不需要与文档本身一起保存。如何使用代码禁用MS Word“无宏文档”警告?
保存文档时,会弹出以下警告(遗憾地,我无法发布图像),使应用程序的最终用户感到困惑。有没有办法在DocumentBeforeSave事件中禁用它?
**
下不能保存无宏的文档:VBA项目要 保存这些特征的文件,单击否返回到另存为 对话框,然后选择文件类型 下拉列表中启用宏的文件类型。继续保存为无宏文档? 按钮:[是] [否] [说明]
**
一个想法是文档的SaveFormat更改为一个较旧的格式,以防止此警告的弹出。但我不确定此更改是否会影响文档的行为方式,以及是否有可能在DocumentBeforeSave事件中修改此属性(该属性是READONLY属性)。
在此先感谢您对此主题的任何帮助。
下面的代码会打开一个单词(假设存在c:\ work \ test.docx,它可能只是一个空白单词doc)。如果您点击Word文档上的保存按钮,则会显示警告消息。顺便说一句,我使用的是Office 2010中
<TestMethod()>
Public Sub testWord()
Dim wApp As New Word.Application()
Dim myDoc As Word.Document
Dim DataCodeModule As Object = Nothing
myDoc = wApp.Documents.Open("C:\Work\test.docx")
DataCodeModule = myDoc.VBProject.VBComponents(0).CodeModule
With DataCodeModule
.InsertLines(1, "Option Explicit")
.InsertLines(2, "Sub TestCode()")
.InsertLines(3, "Selection.InsertAfter ""test""")
.InsertLines(4, "End Sub")
End With
wApp.Visible = True
myDoc.Activate()
End Sub
而且一旦DocumentBeforeSave挂起来,我希望下面的代码将禁用警告。文档打开后可能需要设置DisplayAlerts?
Public Sub App_DocumentBeforeSave(ByVal doc As Object, ByRef saveAsUI As Boolean, ByRef cancel As Boolean) Handles _officeHelper.DocumentBeforeSave
Dim WordApp As Object = this.WordApp()
'WordApp.DisplayAlerts = False
WordApp.DisplayAlerts = 0
End Sub
你能建立文档作为'New'文件,而不是使用一个代码是? – SeanC