我希望客户只有在启用宏时才能看到文档。
我发现以下代码应该可以通过隐藏显示表在 excel 上运行,但找不到该代码的“word 版本”。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
.Sheets("Request").Visible = xlVeryHidden
.Sheets("Patching").Visible = xlVeryHidden
.Sheets("SACM Attributes").Visible = xlVeryHidden
.Save
End With
End Sub
Private Sub Workbook_Open()
With ThisWorkbook
.Sheets("Request").Visible = True
.Sheets("Patching").Visible = True
.Sheets("SACM Attributes").Visible = True
End With
End Sub
如果客户想要查看文档,我想“强制”客户启用宏,方法是隐藏文本并仅在他按下“启用宏”时显示它,或者创建一个密码提示,要求他这样做(客户端将通过邮件或其他类似方式收到密码。
提前致谢, 视频。
更新: 使用@Gareth 的建议我想出了这个(在文本前面放置一张图片并按下启用内容以显示它):
Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="^g", _ ReplaceWith:="", Replace:=wdReplaceAll
我的问题是,如果图片不在默认布局中(如正方形/在文本前面),^g 无法识别它... P.S 我知道图片可以手动删除。
最佳答案
也许:
Private Sub Document_Close()
ThisDocument.Range.Font.Hidden = True
End Sub
Private Sub Document_Open()
ThisDocument.Range.Font.Hidden = False
End Sub
保存在ThisDocument
它会在关闭文档之前隐藏所有内容。并在文档打开并单击“启用宏”后显示所有内容。
#Note - 这不等同于 Excel 的 xlveryhidden
,如果用户知道如何在不运行宏的情况下显示数据,则可以撤消。
关于vba - 有没有办法只在启用宏的情况下显示 word 文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57372196/