77范文网 - 专业文章范例文档资料分享平台

VBA之WORD对话框的利用(Word Dialog)

来源:网络收集 时间:2019-04-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

在WORD操作中,我们最常用的莫过于命令和对话框的操作了。对话框是程序与用户交互过程的一个对话,通过对话框的设置,可以将程序或者用户指定的一些信息转化为程序语言,进行期望操作。

在WORD的开发应用中,我们有四种对话框,其中Application.Dialogs (Item)最为常用.

第一类对话框:Application.Dialogs(Item)

它几乎(注意是几乎,不是全部)涵盖了前台用户与WORD APPLICATION程序的交互过程。我们可以使用for each –next 取得访问application.dialogs,也可以使用index的方法进行访问,耐心寻味的是,两者运行的结果是不同的!WORD VBA帮助文件中提供的WORD 内置对话框的数量也有出入,说明部分对话框不是特别支持访问,Application.Dialogs.Count=227,而实际上利用以下代码可以得到748个对话框。(注意,版本号和安装语言不同,以及文档设置的不同,DIALOG数量可能都会有所不同)

请运行以下程序,以获得更多的Dialog Sub GetAllDialogs()

Dim i As Integer, aString As String, MyString As String, Tem As String On Error Resume Next With Application

.ScreenUpdating = False For i = 1 To 10000

Tem = .Dialogs(i).CommandName

If Err.Number <> 0 Then Err.Clear: GoTo GONE aString = \对话框(\MyString = MyString & aString GONE: Next

Selection.InsertAfter MyString .ScreenUpdating = True End With End Sub

WORD内置对话框中的参数,请参阅WORD VBA帮助文件之内置对话框参数列表.以下为对话框使用示例: Sub FilePrint()

Dim MyDialog As Dialog, Ps() As String, Pl() As String, PPcount As Integer, PrintSel As String

Dim S As Integer, N As Integer, H As Integer, Upper As Integer, Lower As Integer, Cop As Integer

Set MyDialog = Application.Dialogs(wdDialogFilePrint) '定义打印对话框

With MyDialog

If .Show = -1 Then '按下确定按钮 Cop = .NumCopies '返回打印份数 Select Case .Range '打印区域 Case 0

PrintSel = \您选择了打印所有页\ '取得文档总页数 PPcount =

ActiveDocument.Content.Information(wdNumberOfPagesInDocument) Case 2 '相当于打印光标所在页 PPcount = 1

PrintSel = \您选择了打印当前第\Selection.Information(wdActiveEndPageNumber) & \页\

Case 4 '选择从第几页到第几页如\ PrintSel = \您选择了打印指定页:\ '数组

Ps = Split(.Pages, \ Upper = UBound(Ps) '上标 Lower = LBound(Ps) '下标 For i = Lower To Upper N = N + 1

'如果该数组中的某个值中提取有\的话 If InStr(Ps(i), \ Pl = Split(Ps(i), \

S = Pl(1) * 1 - Pl(0) * 1 '直接取得上标和下标数值之差

H = S + H End If Next

PPcount = N + H '打印的页数等于单页和连页数之和 End Select

MsgBox PrintSel & \打印份数为:\打印的页数为:\PPcount & \张,\

& \实际上产生了\张纸.\vbInformation End If End With End Sub

第二类对话框:Application.FileDialog,它包括以下四个文件对话框: Application.FileDialog (msoFileDialogFilePicker)浏览文件对话框

Application.FileDialog (msoFileDialogFolderPicker)浏览文件夹对话框 Application.FileDialog (msoFileDialogOpen)'打开文件对话框 Application.FileDialog (msoFileDialogSaveAs)'另存为对话框 使用方法: Sub Example2()'此代码功能为列出指定文件夹中所有选取的WORD文件全路径名 Dim MyDialog As FileDialog, GetStr As String On Error Resume Next '忽略错误

'定义一个文件夹选取对话框

Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog

.Filters.Clear '清除所有文件筛选器中的项目

.Filters.Add \所有 WORD 文件\\1 '增加筛选器的项目为所有WORD文件

.AllowMultiSelect = True '允许多项选择 If .Show = -1 Then '确定

For Each vrtSelectedItem In .SelectedItems '在所有选取项目中循环

GetStr = GetStr & vbCrLf & vrtSelectedItem Next vrtSelectedItem

' MsgBox GetStr

Selection.InsertAfter GetStr '列出所有文件名 End If End With End Sub第三类对话框: Microsoft Common Dialog Control,Version 6,即Common Dialog,又称通用对话框。

它有包括以下几个对话框类型:打开文件对话框、颜色对话框、字体对话框、打印机对话框和帮助对话框共6个对话框设置。 通用对话框的示例:

Private Sub UserForm_Initialize()

On Error GoTo ErrHandle '如果发生错误转至指定行标签处代码 '预置文件夹路径为WORD选项中的文件位置 CommonDialog1.InitDir =

Application.Options.DefaultFilePath(wdDocumentsPath) '设置文件类型过滤器

CommonDialog1.Filter = \所有Word文件(*.doc)|*.doc|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*|文档模板(*.dot)|*.dot|RTF 文件(*.RTF)|*.RTF\

'指定文件类型项目(选定,或默认项) CommonDialog1.FilterIndex = 1 '显示通用对话框之另存为对话框 CommonDialog1.ShowSave '根据用户设置保存文件

ActiveDocument.SaveAs CommonDialog1.FileName Exit Sub

'启用错误处理

ErrHandle: Unload (Me) End Sub

第四类对话框:隐含对话框(笔者之见),前台具有对话框功能,而在VBA中却不能直接调用的对话框,笔者姑且称之为隐含对话框.也就是不能通过application.dialogs(**).show来直接调用的对话框.

比如保护文档对话框,你在对话框中找不到,但你可以通过命令调用;你也可以通过代码直接进行保护/解除文档的工作(包括打开文档密码),比如: '简化了的保护文档\\解除文档保护代码: Sub ProtectDoc()

If ActiveDocument.ProtectionType = -1 Then _ ActiveDocument.Protect 2, True, \End Sub

Sub UnprotectDoc()

If ActiveDocument.ProtectionType <> -1 Then _ ActiveDocument.Unprotect \End Sub

而有些对话框,则在特定条件下,才存在,比如,VBA工程保护密码,有这个对话框,但你却找不到写相应代码的属性与方法,只能通过调用命令,打开对话框,然后使用SENDKEYS 的方法预置对话框属性与内容后,确定.比如,VBA 工程保护密码的使用

Sub UnProtectPassWord() Dim MyPw As String

'最新修改时间:2004-12-11 16:15:04 MyPw = \假设密码为123,可修改 Application.ScreenUpdating = False '打开VBE/工具/Project属性对话框

Application.VBE.CommandBars.FindControl(ID:=2578).Execute '发送密码和回车,第二次回车为确定属性对话框框 SendKeys MyPw & \ Call ReWork

Application.ScreenUpdating = True End Sub

通过上述代码的介绍,相信你已经了解了如何在代码中使用和操作WORD对话框了,更多的内容,有待于各位的进一步开发,到时候,别忘了告诉守柔!

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VBA之WORD对话框的利用(Word Dialog)在线全文阅读。

VBA之WORD对话框的利用(Word Dialog).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/622267.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: