北京11月份周边爬山:利用VBA 增强窗体的交互性(一)

来源:百度文库 编辑:偶看新闻 时间:2024/05/11 00:52:23

利用VBA 增强窗体的交互性--使用对话框

来源:不详 更新时间:2005-8-6 245

可以利用对话框和窗体使Word 文档更加人性化,增强文档的交互性。可以使用Word 内置的对话框,也可以自定义对话框。也可以在窗体中增加反映用户的如进行鼠标单击或者按下键盘等事件的代码,以响应用户的各种操作。

12.1 使用对话框
    对话框有Word 内置的对话框,用户也可以自定义需要的对话框。

12.1.1 显示 Word 内置对话框
    用 Visual Basic 可显示一个内置对话框以获取用户输入,或者控制 Word.Dialog 对象的 Show 方法显示和处理任一来自 Word 内置对话框的操作。通过指定 WdWordDialog 常量的 Dialogs 属性可访问某一Word 内置对话框。例如,下列宏显示【打开】对话框。
    Dialogs(wdDialogFileOpen).Show
    选定文件并单击【确定】按钮后,文件被打开(该操作被执行)。下例显示打印对 话框。
    Dialogs(wdDialogFilePrint).Show
    设置 DefaultTab 属性可以访问 Word 对话框的特定制表符位置。下例显示【格式】菜单下【边框和底纹】对话框中的页边框项。

With Dialogs(wdDialogFormatBordersAndShading)
.DefaultTab =
wdDialogFormatBordersAndShadingTabPageBorder
.Show
End With

    Display 方法显示对话框但不处理来自对话框的操作。如果要用对话框来提示用户并返回设置,此方法比较有用。例如,下列宏指令显示【选项】对话框中的【用户信息】选项卡,并且返回和显示用户啤?br>
With Dialogs(wdDialogToolsOptionsUserInfo)
.Display
MsgBox .Name
End With

    如在上例中修改了用户名称,则这个变化不会影响对话框的设置。用 Execute 方法可以执行一个对话框中的设置,但不显示该对话框。下例显示了【用户信息】对话框,如果名称不是空字符串,则使用 Execute 方法设置对话框中的项目。

With Dialogs(wdDialogToolsOptionsUserInfo)
.Display
If .Name <> "" Then .Execute
End With

12.1.2 返回和修改对话框设置
    返回或修改对话框设置之前, 需要标识对话框。用带有 WdWordDialog 常量的 Dialogs 属性完成这一操作。下例返回一个参考格式菜单中段落对话框的 Dialog 对象。
    Set myDialog = Dialogs(wdDialogFormatParagraph)
    获得 Dialog 对象后即可返回或设置对话框中的选项。下例显示从段落对话框获得的右缩进值。
    Set myDialog = Dialogs(wdDialogFormatParagraph)
    Msgbox "Right indent = " & myDialog.RightIndent
    许多Word 内置对话框具有这样的参数,它们可使用户从对话框中取值或对其进行设置(例如,上例中的 RightIndent)。
    返回对话框设置的同时,还可以设定对话框的设置。下例在【段落】对话框中的【与下段同】复选框做了标记。

With Dialogs(wdDialogFormatParagraph)
.KeepWithNext = 1
.Execute
End With

    上例将【与下段同】检查框设为有效,并用 Execute 方法设置了对话框中的值。下列 Visual Basic 指令和上例的四条指令等价。  
    Selection.Paragraphs(1).KeepWithNext = True     对于修改用属性或方法设置的值而言,用 Dialog 对象并非有效。
    用户可用 Update 方法确定对话框中的值是否和当前值一致。如果已经在宏中设置了对话框变量的值,只需要返回或修改当前设置,可用 Update 方法。

12.1.3 预定对话框设置
    上例返回和设定了对话框的值,但没