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)的功能区界面的本技巧版本。和更高版本)在这里: