使用 Microsoft Office Word 时,有时需要显示用户输入对话框。虽然可以创建自己的对话框,您也许还希望采用使用 Word 中内置对话框的方法,这些对话框在Application 对象的Dialogs 集合中公开。这使您能够访问 200 个以上的内置对话框,它们以枚举的形式表示。

适用于:本主题中的信息适用于 Word 2013 和 Word 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

若要显示对话框,请使用 WdWordDialog 枚举的值之一来创建Dialog 对象,该对象表示要显示的对话框。然后,调用Dialog 对象的Show 方法。

下面的代码示例演示如何显示“打开”对话框。若要使用此示例,请从项目内的ThisDocument 或 ThisAddIn 类中运行此示例。

Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dlg.Show();

访问可通过后期绑定使用的对话框成员

Word 中对话框的某些属性和方法只能通过后期绑定使用。在 Visual Basic 项目Option Strict位置打开,您必须使用反射来访问这些成员。有关更多信息,请参见Office 解决方案中的后期绑定

下面的代码示例在 Option Strict或在 Visual C# 项目面向 .NET Framework 4 或 .NET Framework 4.5的 Visual Basic 项目演示如何使用文件已打开 对话框的 Name 属性。若要使用此示例,请从项目内的ThisDocument 或ThisAddIn 类中运行此示例。

dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dialog.Name = "Testing";
dialog.Show();
MessageBox.Show(dialog.Name);

下面的代码示例演示如何使用反射来 文件已打开 对话框Name 属性在 Visual Basic 中的项目的访问 Option Strict位置打开。若要使用此示例,请从项目内的ThisDocument 或 ThisAddIn 类中运行此示例。

Dim dlg As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As Type = GetType(Word.Dialog) ' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", _
Reflection.BindingFlags.SetProperty Or _
Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Instance, _
Nothing, dlg, New Object() {"Testing"}, _
System.Globalization.CultureInfo.InvariantCulture) ' Display the dialog box.
dlg.Show() ' Show the Name property.
MessageBox.Show(dlgType.InvokeMember("Name", _
Reflection.BindingFlags.GetProperty Or _
Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Instance, _
Nothing, dlg, Nothing, _
System.Globalization.CultureInfo.InvariantCulture))

以编程方式使用 Word 中的内置对话框的更多相关文章

  1. C#使用Word中的内置对话框实例

    本文实例讲述了C#使用Word中的内置对话框的方法,分享给大家供大家参考.具体实现方法如下: 使用 Microsoft Office Word 时,有时需要显示用户输入对话框.虽然可以创建自己的对话框 ...

  2. 正确停止线程的方式三 使用Thread类中的内置的中断标记位-----------不熟悉

    package charpter10; public class Processor implements Runnable { @Override public void run() { for ( ...

  3. Matlab.NET混合编程技巧之——直接调用Matlab内置函数(附源码)

    原文:[原创]Matlab.NET混合编程技巧之--直接调用Matlab内置函数(附源码) 在我的上一篇文章[原创]Matlab.NET混编技巧之——找出Matlab内置函数中,已经大概的介绍了mat ...

  4. 在DevExpress程序中使用内置的图标构建美观的界面元素

    在我们一般的程序中,为一般的界面元素添加一定的图标展示,有助于提升界面的整体的美观.结合排版布局,以及固定场景的图标,往往给用户非常好的直观感受:统一.美观.易理解.因此在一般的程序界面中,都尽量在略 ...

  5. 【原创】Matlab.NET混合编程技巧之找出Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 Matlab与.N ...

  6. ThinkPHP中的内置标签

    ThinkPHP中的内置标签 1.内置标签分类 闭合标签 <tag></tag> 开放标签 <tag /> 2.包含文件标签 主要功能:实现对文件的包含(类似于re ...

  7. Matlab.NET混合编程技巧之——找出Matlab内置函数

    原文:[原创]Matlab.NET混合编程技巧之--找出Matlab内置函数 Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯定不难.反之,有时候一个小错误,可能抓破 ...

  8. JS中的内置对象简介与简单的属性方法

    JS中的数组: 1.数组的概念: 数组是在内存中连续存储的多个有序元素的结构,元素的顺序称为下标,通过下标查找对应元素 2.数组的声明: ①通过字面量声明var arr1 = [,,,,] JS中同一 ...

  9. 秒懂ASP.NET中的内置对象

    上篇博客,小编主要简单的介绍了一下ASP.NET中的控件,这篇博客,小编主要简单总结一下ASP.NET中的内置对象,七个内置对象分别是:Request.Response.Application.Coo ...

随机推荐

  1. LevelDb原理剖析

    在说LevelDb之前,先认识两位大牛,Jeff Dean和Sanjay Ghemawat,这两位是Google公司重量级的工程师,为数甚少的Google Fellow之二. Jeff Dean其人: ...

  2. OpenJudge/Poj 2105 IP Address

    1.链接地址: http://poj.org/problem?id=2105 http://bailian.openjudge.cn/practice/2105 2.题目: IP Address Ti ...

  3. Openjudge/Poj 1183 反正切函数的应用

    1.链接地址: http://bailian.openjudge.cn/practice/1183 http://poj.org/problem?id=1183 2.题目: 总时间限制: 1000ms ...

  4. N个数随机相加得出固定值的排列组合

    static double[] iArr = new double[10] { 1,2,3,4,5,6,7,8,9,10 }; static Stack<double> stack = n ...

  5. vsftpd.conf配置详解

    根据 /etc/vsftpd/vsftpd.conf默认配置给出设定功能   # Example config file /etc/vsftpd/vsftpd.conf # The default c ...

  6. C#与.NET

    1 .NET Framework的核心是其运行库执行环境,即公共语言运行库(CLR)或.NET运行库,一般将CLR控制下运行的代码称为托管代码(managed code). 在CLR在执行编写好的代码 ...

  7. Express框架学习总结

    最近学了Express框架,在学习的过程中,参考了一些资料,感觉Express框架比原生Node.js好用多了.下面我将我学习总结的内容如下: Express中文网     http://www.ex ...

  8. 图片裁切插件jCrop的使用心得(二)

    上一篇简单的介绍了一下开发的背景以及一些学习资料,下面开始介绍如何上手. 一.下载jCrop http://deepliquid.com/content/Jcrop_Download.html 直接去 ...

  9. css3太极图效果+自动旋转

    主要使用border-radius属性实现圆,半圆,定位坐标覆盖部分模块. 半圆: width: 50%; height: 100%; border-radius:100% 0 0 100% /50% ...

  10. python mysqldb连接数据库

    今天无事想弄下python做个gui开发,最近发布的是python 3k,用到了数据库,通过搜索发现有一个mysqldb这样的控件,可以使用,就去官方看了下结果,没有2.6以上的版本 没办法就下了一个 ...