我在使用 Microsoft Office 工具时遇到了一些问题,我想从所有将来创建的文档中永久删除作者姓名。
Word、Excel 等不断提取我的计算机登录用户名(假设为 JCTechie)并将其添加到作者字段。即使我进入选项>个性化>用户名并创建一个空白或虚假的名称,它也不会生效。右键单击 .doc 或 .xlxs 文件 - 详细信息 - 作者时,它总是显示为 (JCTechie)。有没有办法停止自动添加作者或将其更改为空白/无条目?我知道我可以检查文档并删除所有数据,但对于我创建的每个文档,这样做很繁琐,尤其是如果我忘记这样做的话。
我在本地使用 Office 2013,未登录 Microsoft 帐户。
答案1
我能想到一个解决方案,它涉及 VBA 宏,因此仅限于允许宏的 Office 文档格式,例如.docm
、.doc
或.xlsm
。与 PowerPoint 相比,该解决方案对于 Word 文件更完整。
Word 的 VBA 宏,添加到使用 Alt+打开的 VBA 编辑器中F11:
Sub AutoClose()
If ActiveDocument.Saved = False Then
Dim oProp As DocumentProperty
On Error Resume Next
For Each oProp In ActiveDocument.BuiltInDocumentProperties
oProp.Value = ""
Next oProp
Application.UserName = "x"
ActiveDocument.Save
End If
End Sub
解释一下,这个宏在文档关闭时执行。它会删除所有内置属性,并将“上次保存者”属性设置为x
,因为删除此属性不起作用,只会导致使用登录的帐户名。
仅当文档被修改时才会调用宏,并进行保存,顺便抑制“保存、不保存或取消”对话框(可以很容易地添加)。
如果将宏添加到任何文档,它将只对该文档起作用。要使其适用于所有 Word 文档,请将其添加到
normal.dot
或 的模板中normal.dotm
。
参考:
Excel 电子表格不存在这种模板机制。对于 Excel,必须将宏单独添加到每个.xlsm
文件。宏名称也有点不同:Auto_Close
而不是AutoClose
。
作为参考,请参阅文章 Excel 关闭时运行宏 – Auto_Close。
答案2
我使用的是 Office 2016,将所有内容(从用户名/初始字段)留空或删除都可以,并且可以在关闭并重新打开所有文档时保留,并且可以从 excel 传输到 word,再从 word 传输到 excel。
如果输入空格不起作用,您可以尝试输入一些不可见的字符,如 Alt-127 或 Alt-255(来自数字键盘,这是删除的 ASCII 码)或任何其他此类字符,如 unicode ZERO WIDTH SPACE 十六进制 200B,十进制 8203 或 ZERO WIDTH NON JOINER zwnj 0wnj 十六进制 200C,十进制 8204 或 ZERO WIDTH JOINER zwj 0wj 十六进制 200D,十进制 8205。对于 unicode 字符,写入十进制代码,选择它,按 alt-x
谢谢。