用.net操作word

word

要操作Word,我们就需要Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word。具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将 库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的!

在CS代码文件中对命名空间的应用,如:using Word;范例如下:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using Word;

namespace ExamSecure
{
///
/// ItemToDoc 的摘要说明。
///
public class ItemToDoc : System.Windows.Forms.Form
{
object strFileName;
Object Nothing;
Word.ApplicationClass myWordApp=new Word.ApplicationClass();
Word.Document myWordDoc;
string strContent="";

private System.ComponentModel.Container components = null;

public ItemToDoc()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();

//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
[STAThread]
static void Main()
{
System.Windows.Forms.Application.Run(new ItemToDoc());
}
///
/// 清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
//
// ItemToDoc
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Name = "ItemToDoc";
this.Text = "ItemToDoc";
this.Load += new System.EventHandler(this.ItemToDoc_Load);

}
#endregion
private void ItemToDoc_Load(object sender, System.EventArgs e)
{
WriteFile();
}
private void WriteFile()
{

strFileName=System.Windows.Forms.Application.StartupPath+"\\试题库【"+GetRandomString()+"】.doc";
Object Nothing=System.Reflection.Missing.Value;
myWordDoc=myWordApp.Documents.Add(ref Nothing,ref Nothing,ref Nothing,ref Nothing);

#region 将数据库中读取得数据写入到word文件中

strContent="试题库\n\n\r";
WriteFile(strContent);

strContent="试题库";
WriteFile(strContent);

#endregion

//将WordDoc文档对象的内容保存为DOC文档
myWordDoc.SaveAs(ref strFileName,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing);
//关闭WordDoc文档对象
myWordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
//关闭WordApp组件对象
myWordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
}

///
/// 获取一个随即字符串
///
///
private string GetRandomString()
{
DateTime iNow=DateTime.Now;
string strDate=iNow.ToString("yyyyMMddHHmmffff");

Random ran=new Random();
int iRan=Convert.ToInt32(10000*ran.NextDouble());
string strRan=iRan.ToString();
//位数不足则补0
int iRanlen=strRan.Length;
for(int i=0;i<4-iRanlen;i++)
{
strRan="0"+strRan;
}
return strDate+strRan;
}

///
/// 将字符串写入到Word文件中
///
/// 要写入的字符串
private void WriteFile(string str)
{
myWordDoc.Paragraphs.Last.Range.Text=str;
}
}
}

时间: 2024-09-30 02:11:38

用.net操作word的相关文章

希望用java操作word,有表格,数据较多,还有一个嵌入的txt

问题描述 希望用java操作word,有表格,数据较多,还有一个嵌入的txt 希望用java操作word,有表格,数据较多,还有一个嵌入的txt,freemarker好像不可以..... 解决方案 用Apache POI ,可以直接通过java程序操作word文档 解决方案二: 用POI的网上可以搜到也能下载到.

vc操作word时添加msword时少选了一些类,有什么补救办法吗?

问题描述 vc操作word时添加msword时少选了一些类,有什么补救办法吗? 在添加msword.olb时由于选择时没有选择书签类,我现在需要用书签怎么办?能不能不重新建工程还能添加进去的方法.

循环-vb.net操作word最后一步求解

问题描述 vb.net操作word最后一步求解 If e.KeyCode = Keys.Enter Then Dim q As Integer = InputBox("请输入搜索页码的次数") If q > 0 Then Static Dim p(q) As String Dim j As Integer For j = 0 To q - 1 p(j) = InputBox("请输入关键字") Next Dim temp If p(j) = p(q) Then

ASP.NET操作Word的IIS权限设置

ASP.NET账号在默认情况下是没有权限操作Microsoft Office对象的,如果不进行权限的配置,代码会抛出类似以下的异常: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005. 这样给Asp.NET操作Microsoft Office对象带来了一定的困难.但我们还是要想办法来进行Office对象的操作.下面简单介绍一下本人在开发过程中曾经使用过的方法: 方法1:配置W

在.net中操作Word

word 要操作Word,我们就需要Word的对象库文件"MSWORD.OLB"(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word.具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的"选择组件"对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将

python实现在windows下操作word的方法

  本文实例讲述了python实现在windows下操作word的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 import win32com from win32com.client import Dispatch, constants w =

VBA操作Word中Documents/Document对象属性介绍

  如果您想通过VBA操作word,如下Documents/Document对象的属性,应该对您有所帮助. ActiveDocument.AttachedTemplate.FullName '返回当前文档采用的模板名及模板所在位置 ActiveDocument.Bookmarks.Count '返回当前文档中的书签数 ActiveDocument.Characters.Count '返回当前文档的字符数 ActiveDocument.CodeName '返回当前文档的代码名称 ActiveDoc

vba操作word之Paragraphs、Paragraph对象介绍

  通过如下的VBA代码调用Paragraphs.Paragraph对象,可以操作word文档的段落.字符间距.段落格式的设置等.希望对您有所帮助.   Selection.Paragraphs.Count '返回所选区域的段落数   Selection.Paragraphs.First '返回所选区域中的第一段   ActiveDocument.Paragraphs(1).LeftIndent '返回当前文档中第一段的左缩进值   ActiveDocument.Paragraphs(1).Li

vba-请各位看看这段vb.net的代码,是操作word的

问题描述 请各位看看这段vb.net的代码,是操作word的 Public Sub Textbox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown If e.KeyCode = Keys.Enter Then Dim p As String = InputBox("请输入") Dim WDAPP As Object