C#使用Word中的内置对话框实例
本文实例讲述了C#使用Word中的内置对话框的方法,分享给大家供大家参考。具体实现方法如下:
使用MicrosoftOfficeWord时,有时需要显示用户输入对话框。虽然可以创建自己的对话框,您也许还希望采用使用Word中内置对话框的方法,这些对话框在Application对象的Dialogs集合中公开。这使您能够访问200个以上的内置对话框,它们以枚举的形式表示。
适用于:本文中的信息适用于Word2013和Word2010的文档级项目和应用程序级项目。有关更多信息,请参见按Office应用程序和项目类型提供的功能:http://msdn.microsoft.com/zh-cn/library/vstudio/aa942839.aspx。
显示对话框:
若要显示对话框,请使用WdWordDialog枚举的值之一来创建Dialog对象,该对象表示要显示的对话框。然后,调用Dialog对象的Show方法。
下面的代码示例演示如何显示“打开”对话框。若要使用此示例,请从项目内的ThisDocument或ThisAddIn类中运行此示例。
Word.Dialogdlg=Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen]; dlg.Show();
访问可通过后期绑定使用的对话框成员
Word中对话框的某些属性和方法只能通过后期绑定使用。在VisualBasic项目OptionStrict位置打开,您必须使用反射来访问这些成员。有关更多信息,请参见Office解决方案中的后期绑定:http://msdn.microsoft.com/zh-cn/library/vstudio/3xxe951d.aspx。
下面的代码示例在OptionStrict或在VisualC#项目面向.NETFramework4或.NETFramework4.5的VisualBasic项目演示如何使用文件已打开对话框的Name属性。若要使用此示例,请从项目内的ThisDocument或ThisAddIn类中运行此示例。
dynamicdialog=Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen]; dialog.Name="Testing"; dialog.Show(); MessageBox.Show(dialog.Name);
下面的代码示例演示如何使用反射来文件已打开对话框Name属性在VisualBasic中的项目的访问OptionStrict位置打开。若要使用此示例,请从项目内的ThisDocument或ThisAddIn类中运行此示例。
DimdlgAsWord.Dialog=Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen) DimdlgTypeAsType=GetType(Word.Dialog)
'SettheNamepropertyofthedialogbox. dlgType.InvokeMember("Name",_ Reflection.BindingFlags.SetPropertyOr_ Reflection.BindingFlags.PublicOr_ Reflection.BindingFlags.Instance,_ Nothing,dlg,NewObject(){"Testing"},_ System.Globalization.CultureInfo.InvariantCulture)
'Displaythedialogbox. dlg.Show()
'ShowtheNameproperty. MessageBox.Show(dlgType.InvokeMember("Name",_ Reflection.BindingFlags.GetPropertyOr_ Reflection.BindingFlags.PublicOr_ Reflection.BindingFlags.Instance,_ Nothing,dlg,Nothing,_ System.Globalization.CultureInfo.InvariantCulture))