我在工作簿中的隐藏工作表中嵌入了很少的对象,它们运行VBA代码。这些对象(word,excel,pdf等)只是模板,我需要打开这些对象的副本,或者在单击命令按钮时将其打开为只读,这样模板内容保持不变。
我在互联网上搜索但没有找到一种方法将这些嵌入对象打开为只读。我正在运行此代码,但保存操作不成功。
Private Sub M114_Click()
Dim WDObj As Object
Dim WDApp As Object
Set WDApp = GetObject(, "Word.Application")
Set WDObj = Sheets("Tools").OLEObjects("MO")
WDObj.Activate
WDApp.ActiveDocument.SaveAs ("MO_copy.doc")
Set WDObj = Nothing
Set WDApp = Nothing
End Sub
您需要保护文档以防止在将其嵌入Excel之前进行更改。
以Word文档为例:
您可以使用Word的保护功能来保护它,并可以选择为不同的用户提供不同的权限。
Review
选项卡。Restrict Editing
”**No Changes (Read Only)**
。或者,如果嵌入对象链接到源文件,则可以在Windows文件属性中将文件设置为“只读”。如果对象未链接到文件,则无效。