Christopher想知道是否有任何方法可以在Word状态栏或标题栏中自动显示当前用户名。作为自由文本审阅者,他经常必须更改用户名才能对特定作业使用跟踪更改,然后他必须记住在创建文档或对其他客户使用跟踪更改之前将其重置。如果克里斯托弗忘记了,那会浪费他的时间和尴尬。

他觉得在状态栏或标题栏中显示用户名将是一个有用的提醒。

实际上,将信息添加到状态栏非常容易。您需要做的就是在宏中包含一行,例如:

Application.StatusBar = Application.UserName

宏从Application对象(代表Word本身)获取UserName属性的值,然后将该信息填充到StatusBar属性中。简单吧?

但是,这有两个问题。最大的问题是Word将状态栏用于很多事情,这意味着无论您放置在那里什么都不会留很长时间。例如,您只需要键入一个字符,Word就会覆盖您在状态栏上放置的所有内容。

不幸的是,Word没有提供任何可能触发状态栏重置的内置事件处理程序。当然,您可以创建一个基于计时器的宏,该宏将使用用户名定期更新状态栏,但这可能会分散注意力,因为当您的宏和Word争夺在那里显示的内容时,它会导致闪烁。

您还应该知道,Microsoft在Word 2013中显然已弃用StatusBar属性:

http://msdn.microsoft.com/en-us/library/office/ff845291%28v=office.15%29.aspx

我说“显然”是因为这种弃用有点令人困惑。测试表明,StatusBar属性在Word 2013中可以正常运行,就像程序的早期版本一样。 (也许它将在下一版本的Word中将其完全删除,但是谁知道呢?)

由于这些缺点,将用户名添加到标题栏可能是一个更好的选择。以下宏可以解决问题:

Sub AutoOpen()

ActiveWindow.Caption = ActiveWindow.Caption & "  User: " & _       "  User: " & Application.UserName End Sub
Sub FileSaveAs()

If Application.Dialogs(wdDialogFileSaveAs).Show Then         ActiveWindow.Caption = ActiveWindow.Caption & _           "  User: " & Application.UserName     End If End Sub

首次打开文档时以及使用“另存为”命令时,宏会将用户名添加到窗口标题栏中文件名的末尾。 (更改文档文件名时,标题栏将被Word覆盖。)

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13321)适用于Microsoft Word 2007、2010和2013。