WORD自动化部分操作

系统 2152 0

为了实现在WORD中添加文本和图片,在网上找了一下,找到了一些资源,自己组织了一下,形成一个简单的类,一些方法是利用模板的,一些是不用的。运行时,将弹出WORD窗口。

class WordUtil
{
    object oMissing = System.Reflection.Missing.Value;
    object oEndOfDoc = "\\endofdoc"; /**//* \endofdoc is a predefined bookmark */
    Word._Application oWord = null;
    Word._Document oDoc = null;

    public WordUtil()
    {
        oWord = new Word.Application();
        oWord.Visible = true;
        oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
    }

    public WordUtil(string templateFile)
    {
        oWord = new Word.Application();
        oWord.Visible = true;
        object oTemplate = templateFile;
        oDoc = oWord.Documents.Add(ref oTemplate, ref oMissing, ref oMissing, ref oMissing);
    }

    public void addTxt(string txt)
    {
        Word.Paragraph oPara;
        object oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
        oPara = oDoc.Content.Paragraphs.Add(ref oRng);
        oPara.Range.Text = txt;
        oPara.Format.SpaceAfter = 6;
        oPara.Range.InsertParagraphAfter();
    }

    public void addTxt(string bookMark, string txt)
    {
        object oBookMark = bookMark;
        oDoc.Bookmarks.get_Item(ref oBookMark).Range.Text = txt;
    }

    public void addPicture(string fileName, float width, float height)
    {
        Word.Paragraph oPara;
        object oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
        oPara = oDoc.Content.Paragraphs.Add(ref oRng);
        Word.InlineShape shape = oPara.Range.InlineShapes.AddPicture(fileName, ref oMissing, ref oMissing, ref oMissing);
        shape.Width = oWord.InchesToPoints(width);
        shape.Height = oWord.InchesToPoints(height);
        oPara.Format.SpaceAfter = 6;
        oPara.Range.InsertParagraphAfter();
    }

    public void addPicture(string bookMark, string fileName, float width, float height)
    {
        object oBookMark = bookMark;
        Word.InlineShape shape = oDoc.Bookmarks.get_Item(ref oBookMark).Range.InlineShapes.AddPicture(fileName, ref oMissing, ref oMissing, ref oMissing);
        shape.Width = oWord.InchesToPoints(width);
        shape.Height = oWord.InchesToPoints(height);
    }
}

 

例子:

WordUtil wt = new WordUtil(@"c:\temp.dot");
wt.addTxt("SOA_CUSTOM", "您好");
wt.addTxt("SOA_EOTITLE", "hello the world");
wt.addPicture("SOA_EOTYPE", @"D:\MyPrograms\BMP\img12.jpg", 2f, 1.5f);
wt.addTxt("SOA_EOREASON", "测试");

 

效果:

a

 

在此也非常感谢网上网友的无私共享。

WORD自动化部分操作


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论