修改打开对话框的行为(Microsoft Word)
Bronwyn问是否有一种方法可以强制“打开”对话框保持可见状态,以便可以连续打开多个文件。尽管可以使用“打开”对话框同时打开多个文档,但Bronwyn不想这样做。
一种解决方案(仅与Word切线相关)是使用Windows资源管理器显示文件夹中的文件。打开一个显示所有文档文件的资源管理器窗口。然后,您可以双击文件,或创建一组选择文件,然后右键单击它们,然后选择“打开”。
该窗口一直可用,您不必担心重复显示“打开”对话框。
如果您希望直接在Word中使用解决方案,只需记住Word是非常可配置的,这意味着您几乎可以更改程序的每个方面。这包括“打开”对话框的行为。您需要做的就是为FileOpen命令创建一个替换,如下所示:
Public Sub FileOpen() Dim err_handler On Error GoTo err_handler With Dialogs(wdDialogFileOpen) .Name = "." Do While .Show <> 0 .Name = "." Loop End With Exit Sub err_handler: If Err.Number = 5174 Then MsgBox "You can open only one file at a time.", vbCritical Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description, vbExclamation End If End Sub
有了此宏后,只要您从“文件”菜单中选择“打开”,Word就会显示“打开”对话框,其中“所有文件”为指定的文件类型。然后,您可以选择一个文件,对话框将再次打开以等待您的下一个选择。如果在对话框上单击“取消”,则命令结束,您可以在Word中开始其他任务。
打开对话框的实现与Word正常显示的实现之间有区别。在Word中,可以在“打开”对话框中创建一个“选择集”,以便可以同时打开多个文件。当使用wdDialogFileOpen对话框时(就像您为Open命令创建自己的替换时一样),一次只能选择一个文件。对于Bronwyn来说,这似乎不是一个大问题,但对于其他用户而言,这可能是一个问题。
如果必须保留一次打开多个文件的功能,则可以执行命令栏控件。但是,在执行命令栏控件时,您无法测试是否有人单击“取消”。因此,您需要另一种摆脱循环的方法。在以下例程中,您可以选择/打开多个文件,但是您还必须响应对话框以退出显示对话框的循环。
Sub GetNewFiles() Dim Response Do While Response <> vbNo CommandBars("Standard").Controls("&Open...").Execute Response = MsgBox(Prompt:="Open another file?", Buttons:=vbYesNo) Loop End Sub
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1869)适用于Microsoft Word 97、2000、2002和2003。您可以找到Word(Ribbon 2007)的功能区界面的本技巧版本。和更高版本)在这里: