C#操作Word
来源:互联网 发布:淘宝图片白底怎么弄的 编辑:程序博客网 时间:2024/06/15 18:46
C#操作Word(一)——C#中向Word文档中插入Windows控件(转)
实例说明
Word是一个功能强大的文字处理软件,在Word文档中可以方便的对文字信息进行排版,也可以向文档中插入生动、直观的图片信息,本实例将会介绍一个有趣的功能,向Word文档中插入Windows控件,并且此控件还可以响应用户事件。比如,向Word文档中插入Button按钮,此按钮也可以响应用户的单击事件。实例运行效果如图1所示。
图1向Word文档中插入Windows控件
关键技术
本实例重点在于向读者介绍怎样使用Controls集合的AddButton方法向文档中插入Windows按钮控件,下面对本实例用到的关键技术进行详细讲解。
说明:由于实例中使用了Word与Windows控件的互操作技术,所以应当在VS2008中创建Word2003文档实例,具体创建方式请参照本实例中的“设计过程“。
使用Controls集合的AddButton方法可以方便的向Word文档中插入按钮控件。AddButton的语法格式如下:
public Button AddButton(Range range, float width, float height, string name);
AddButton方法中的参数说明如表1所示。
表1 AddButton方法中的参数说明
说明:实例中介绍了向Word文档中插入Windows控件的方法,当AddButton方法执行后将会向Word文档中插入Button按钮同时还会返回此Button对象的引用,可以通过设置此Button对象的属性和事件来控制Word文档中Button按钮的状态和事件。
设计过程
(1)打开Visual Studio 2008开发环境,选择文件菜单中的“新建”/“项目”,此时会弹出“新建项目”窗口,在“新建项目”窗口的“项目类型”中选择“Visual C#”/“Office”,在右侧模板中选择“Word 2003 文档”,并在名称中添写“InsertControl”,并选择项目保存位置,单击确定按钮新建项目。如图2所示。
图2在VS2008中创建Word 2003 文档
(2)在打开的Word文档中单击鼠标右键选择“查看代码”,在Startup事件中写入代码如下:
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
Word.Range P_Range1 = this.Paragraphs[1].Range; //得到文档范围
Microsoft.Office.Tools.Word.Controls.Button P_btn = //向文档中添加按钮
this.Controls.AddButton(P_Range1, 50, 20, "button1");
P_btn.Text = "Button按钮"; //设置按钮文本
P_btn.Height = 50; //设置按钮高度
P_btn.Width = 100; //设置按钮宽度
P_btn.Click += new EventHandler(P_btn_Click);
}
C#操作Word(二)——将Word文档嵌入到WinForm窗体中
实例说明
Office是我们日常工作中经常用到的办公软件,然而,随着信息技术的飞速发展,已经有越来越多的人使用Word写作文档、使用Excel制做报表、使用OutLook方便的收发电子邮件。一切的操作都是这么轻松,实例中将会介绍怎样使用C#在Form窗体中显示Word文档,运行效果如图1所示。
图1 将Word文档嵌入到WinForm窗体中
关键技术
本实例重点在于向读者介绍怎样使用WebBrowser控件显示Word文档,下面对本实例中所用到的关键技术进行详细讲解。
WebBrowser控件是Windows窗体应用程序的标准控件,使用WebBrowser控件可以在窗体中显示网页信息,通过WebBrowser控件的Navigate方法可以将指定位置的文档加载到WebBrowser控件中,该方法常用的语法格式如下:
public void Navigate(string urlString)
参数说明
? urlString:要加载的文档的URL地址。
说明:WebBrowser控件也可以加载并显示Excel文件。
设计过程
(1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,命名为WordInForm。
(2)更改默认窗体Form1的Name属性为Frm_Main,更改Text属性为“将Word文档嵌入到WinForm窗体中”,并向窗体中添加一个MenuStrip菜单控件,向菜单中添加两个菜单项“打开”和“退出”分别用于打开Word文档和退出应用程序;向窗体中添加WebBrowser控件,此控件用于显示Word文档。
(3)程序主要代码如下:
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog P_GetFile = new OpenFileDialog(); //创建打开文件对话框对象
DialogResult P_dr = P_GetFile.ShowDialog(); //显示打开文件对话框
if (P_dr == DialogResult.OK) //是否单击确定
{
WebBrowser.Navigate(P_GetFile.FileName); //打开Word文档并显示
}
}
C#操作Word(三)——C#向Word文档中写入文字(转)
实例说明
Word有着强大的文本编辑功能,我们可以轻松的在Word中输入文本内容,更改文字字体,设置文字大小、颜色,方便的对文本内容排版。在前面的实例中已经详细介绍了怎样使用C#创建Word文档,本实例将会使用C#方便的向指定的Word文档中输入文本内容。实例运行效果如图1所示。
图1 向Word文档中写入文字
实例运行中单击“创建Word文档”按钮,会根据用户选择的路径位置创建Word文档并向文档中添加文字,而文档的名称就是当前系统日期与时间。创建的Word文档如图2所示。
图2 被写入文字的Word文档
? 关键技术
本实例重点在于向读者介绍怎样使用Word文档中Range属性向Word中添加文本信息,下面对本实例用到的关键技术进行详细讲解。
读取或设置Word文档中的文本内容的方式基本相同,首先是得到文本内容的范围,然后通过范围对象读取或设置文本信息。实例中首先使用了Paragraphs集合中的索引获取Word文档中的段落对象,然后通过Paragraph段落对象的Range属性得到文档中段落的范围,最后通过范围对象的Text属性获取或设置段落内的文本信息。
说明:在Word文档的操作中也可以使用Range对象的Collapse方法折叠Range对象。折叠后的Range对象将不包含文本或其它信息,只是标注文档中的一个位置。
? 设计过程
(1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,命名为AddLetter。
(2)使用C#操作Word文档,需要引用相关的COM组件,引用COM组件的步骤请参照实例002中的设计过程。
(3)更改默认窗体Form1的Name属性为Frm_Main,更改Text属性为“向Word文档中写入文字”,并向窗体中添加两个TextBox控件,控件分别用输入字符串和显示Word文档保存路径;向窗体中添加3个Button按钮,这3个按钮分别用于选择文档保存路径、创建Word文档和显示Word文档。
(4)程序主要代码如下:
private void btn_New_Click(object sender, EventArgs e)
{
btn_New.Enabled = false; //停用新建按钮
ThreadPool.QueueUserWorkItem( //使用线程池
(P_temp) => //使用lambda表达式
{
G_wa = new Word.Application(); //创建Word应用程序对象
Word.Document P_wd = G_wa.Documents.Add( //建立新文档
ref G_missing, ref G_missing, ref G_missing, ref G_missing);
Word.Range P_Range = P_wd.Paragraphs[1].Range; //得到文档的范围对象
P_Range.Text = txt_add.Text; //向文档中添加字符串
G_str_path = string.Format( //计算文件保存路径
@"{0}{1}", G_FolderBrowserDialog.SelectedPath,
DateTime.Now.ToString("yyyy年M月d日h时s分m秒fff毫秒") + ".doc");
P_wd.SaveAs( //保存Word文件
ref G_str_path,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing);
((Word._Application)G_wa.Application).Quit( //退出应用程序
ref G_missing, ref G_missing, ref G_missing);
this.Invoke( //开始执行窗体线程
(MethodInvoker)(() => //使用lambda表达式
{
btn_Display.Enabled = true; //启用显示按钮
MessageBox.Show("成功创建Word文档!", "提示!"); //弹出消息对话框
}));
});
}
C#操作Word(四)——在Word文档中绘制表格(转)
实例说明
使用Excel可以方便的处理表格信息,但是在Word中也可以简单的使用表格,在Word菜单中单击“表格”/“插入”/“表格”,在插入表格窗口中添加表格的行数和列数,最后单击“确定”按钮插入表格。在实例中我们可以使用C#方便的向指定的Word文档中插入表格,并在表格中添加相应信息。实例运行效果如图1所示。
图1 在Word文档中绘制表格
实例运行中单击“创建Word文档”按钮,会根据用户选择的路径位置创建Word文档并向文档中绘制表格,而文档的名称就是当前系统日期与时间。创建的Word文档如图2所示。
图2Word文档中的表格
? 关键技术
本实例重点在于向读者介绍怎样使用Tabels集合的Add方法在文档中绘制表格,下面对本实例用到的关键技术进行详细讲解。
通过Document对象的Tables属性可以得到Tables集合,使用Tables集合对象的Add方法可以轻松的在Word文档中绘制表格,Add方法的语法格式如下:
Table Add(Range Range, int NumRows, int NumColumns, ref object DefaultTableBehavior, ref object AutoFitBehavior);
Add方法中的参数说明如表1所示。
表1 Add方法中的参数说明
说明:在Word文档中插入表格后可以使用表格对象的Cell方法获取或设置表格中的文本内容,Cell方法接受两个参数,两个参数分别为表格中行与列的索引,要注意一点,表格中的行与列的索引值从1开始。
? 设计过程
(1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,命名为AddTable。
(2)使用C#操作Word文档,需要引用相关的COM组件,引用COM组件的步骤请参照实例002中的设计过程。
(3)更改默认窗体Form1的Name属性为Frm_Main,更改Text属性为“在Word文档中绘制表格”,并向窗体中添加3个TextBox控件,3个TextBox控件分别用显示Word文档保存路径、设置插入表格行数和设置插入表格列数;向窗体中添加3个Button按钮,这3个按钮分别用于选择Word文档保存路径、创建Word文档和显示Word文档。
(4)程序主要代码如下:
private void btn_New_Click(object sender, EventArgs e)
{
G_ToolProgressBar.Minimum = 1; //设置进度条最小值
G_ToolProgressBar.Maximum = //设置进度条最大值
int.Parse(txt_row.Text)+1;
btn_New.Enabled = false; //停用新建按钮
ThreadPool.QueueUserWorkItem( //使用线程池
(P_temp) => //使用lambda表达式
{
G_wa = new Word.Application(); //创建Word应用程序对象
Word.Document P_wd = G_wa.Documents.Add( //建立新文档
ref G_missing, ref G_missing, ref G_missing, ref G_missing);
Word.Range P_Range = P_wd.Paragraphs[1].Range; //得到文档范围对象
object P_DefaultTable = //创建表格参数对象
Word.WdDefaultTableBehavior.wdWord8TableBehavior;
object P_AutoFit = //创建表格参数对象
Word.WdAutoFitBehavior.wdAutoFitWindow;
Word.Table P_WordTable = P_Range.Tables.Add( //向文档中添加表格
P_Range,
int.Parse(txt_row.Text),
int.Parse(txt_column.Text),
ref P_DefaultTable, ref P_AutoFit);
for (int i = 1; i < int.Parse(txt_row.Text) + 1; i++)
{
for (int j = 1; j < int.Parse(txt_column.Text) + 1; j++)
{
P_WordTable.Cell(i, j).Range.Text = //向表格中添加数据
string.Format("{0}行 {1}列", i.ToString(), j.ToString());
Thread.Sleep(10); //线程挂起10毫秒
}
this.Invoke( //调用窗体线程
(MethodInvoker)(() => //使用Lambda表达式
{
G_ToolProgressBar.Value = i + 1; //设置进度信息
}));
}
G_str_path = string.Format( //计算文件保存路径
@"{0}{1}", G_FolderBrowserDialog.SelectedPath,
DateTime.Now.ToString("yyyy年M月d日h时s分m秒fff毫秒") + ".doc");
P_wd.SaveAs( //保存Word文件
ref G_str_path,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing);
((Word._Application)G_wa.Application).Quit( //退出应用程序
ref G_missing, ref G_missing, ref G_missing);
this.Invoke( //开始执行窗体线程
(MethodInvoker)(() => //使用lambda表达式
{
btn_Display.Enabled = true; //启用显示按钮
MessageBox.Show("成功创建Word文档!", "提示!"); //弹出消息对话框
}));
});
}
C#操作Word(五)——在Word文档中插入图片(转)
实例说明
在Word文档的使用过程中,我们可以轻松的向文档中插入图片信息,那么,怎样使用C#向Word文档中插入图片呢?本实例将会介绍一种方法,可以方便的实现上述功能。实例运行效果如图1所示。
图1 在Word文档中插入图片
实例运行中单击“创建Word文档”按钮,会根据用户选择的路径位置创建Word文档并向文档中添加图片,而文档的名称就是当前系统日期与时间。创建的Word文档如图2所示。
图2 被插入图片的Word文档
? 关键技术
本实例重点在于向读者介绍怎样使用InlineShapes集合的AddPicture方法向Word文档中插入图片,下面对本实例用到的关键技术进行详细讲解。
使用Documents对象的Add方法可以创建Word文档,使用Open方法可以打开Word文档,当得到文档对象后可以根据InlineShapes属性得到InlineShape对象的集合,InlineShape对象包括图片、ActiveX控件等信息。使用InlineShapes集合的AddPicture方法可以方便的向文档中插入图片,AddPicture方法的语法格式如下:
InlineShape AddPicture(string FileName, ref object LinkToFile, ref object SaveWithDocument, ref object Range);
AddPicture方法中的参数说明如表1所示。
表1 AddPicture方法中的参数说明
参数
描述
? FileName
将要插入的图片文件名称及路径
? LinkToFile
如果为true,则将图片链接到创建该对象的文件;如果为false则将图片作为该文件的独立副本,默认为false
?SaveWithDocument
如果为true,则链接的图片与工作表一起保存,默认为false
? Range
插入图片的范围
? 设计过程
(1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,命名为AddImage。
(2)使用C#操作Word文档,需要引用相关的COM组件,引用COM组件的步骤请参照实例002中的设计过程。
(3)更改默认窗体Form1的Name属性为Frm_Main,更改Text属性为“在Word文档中插入图片”,并向窗体中添加两个TextBox控件,控件分别用显示图片路径和显示Word文档保存路径;向窗体中添加4个Button按钮,这4个按钮分别用于选择向Word文档中插入的图片、选择Word文档保存路径、创建Word文档和显示Word文档。
(4)程序主要代码如下:
private void btn_New_Click(object sender, EventArgs e)
{
btn_New.Enabled = false; //停用新建按钮
ThreadPool.QueueUserWorkItem( //使用线程池
(P_temp) => //使用lambda表达式
{
G_wa = new Word.Application(); //创建Word应用程序对象
Word.Document P_wd = G_wa.Documents.Add( //建立新文档
ref G_missing, ref G_missing, ref G_missing, ref G_missing);
Word.Range P_Range = P_wd.Paragraphs[1].Range; //得到段落范围
object P_Ranges = P_Range; //创建ojbect对象
P_wd.InlineShapes.AddPicture( //向文档中插入图片
G_OpenFileDialog.FileName, ref G_missing, ref G_missing, ref P_Ranges);
G_str_path = string.Format( //计算文件保存路径
@"{0}{1}", G_FolderBrowserDialog.SelectedPath,
DateTime.Now.ToString("yyyy年M月d日h时s分m秒fff毫秒") + ".doc");
P_wd.SaveAs( //保存Word文件
ref G_str_path,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing);
((Word._Application)G_wa.Application).Quit( //退出应用程序
ref G_missing, ref G_missing, ref G_missing);
this.Invoke( //开始执行窗体线程
(MethodInvoker)(() => //使用lambda表达式
{
btn_Display.Enabled = true; //启用显示按钮
MessageBox.Show("成功创建Word文档!", "提示!"); //弹出消息对话框
}));
});
}
- c# .net 操作word
- c#操作word表格
- c#操作word文档
- c#操作word(二)
- C#操作Word
- C#操作Word文档
- C#操作Word文档
- c#操作word表格
- c#操作word(二)
- c#操作word表格
- c#操作word表格
- c#操作word表格
- c#操作word
- C#操作Word文档
- c#操作word表格
- c#操作word表格
- C#操作word
- C# 操作word文档
- Quaternion-未测试-头文件
- NSNumber的常用方法
- 有n个整数,使其前面各数顺序后移m个位置,最后m个变为前面的m个
- android中的session
- 软件工程—概论
- C#操作Word
- NSDictionary与NSMutableDictionary的常用方法
- 从mysql到oracle你必须了解的50件事儿
- 布局中@null的代码实现方式
- vs2008 连接 access 数据库
- HDU 1133 卡特兰数
- 解压.zip文件命令
- Quaternion-未测试-实现文件
- ubuntu配置ftp server