zoukankan      html  css  js  c++  java
  • C# Word 插入签名图片

    转载 http://www.voidcn.com/article/p-ddbcqdqj-pv.html

    思路:通过在Word中设置书签 ,调用Word的方法去查找书签然后进行替换保存。

    代码如下:

    首先添加OFFCIE引用

    Microsoft Office 15.0 Object Library 这个直接通过COM添加

    Microsoft.Office.Interop.Word.dll  这个DLL 在 C:Program Files (x86)Microsoft Visual Studio 10.0Visual Studio Tools for OfficePIA下 也就是你的VS 安装目录下面。

    public void SignProduct()
            {
                object Nothing = System.Reflection.Missing.Value;
                //创建一个名为wordApp的组件对象
                Application wordApp = new Application();
                //word文档位置
                object filename = @"E:2013.08.29需求说明书 V1.2.doc";
                //定义该插入图片是否为外部链接
                object linkToFile = true;
                //定义插入图片是否随word文档一起保存
                object saveWithDocument = true;
                //打开word文档
                Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref filename, 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);
                try
                {
                    //标签
                    object bookMark = "mark1";
                    //图片
                    string replacePic = @"E:1.gif";
                    if (doc.Bookmarks.Exists(Convert.ToString(bookMark)) == true)
                    {
                        //查找书签
                        doc.Bookmarks.get_Item(ref bookMark).Select();
                        //设置图片位置
                        wordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
                        //在书签的位置添加图片
                        InlineShape inlineShape = wordApp.Selection.InlineShapes.AddPicture(replacePic, ref linkToFile, ref saveWithDocument, ref Nothing);
                        //设置图片大小
                        inlineShape.Width = 80;
                        inlineShape.Height = 20;
                        doc.Save();
                    }
                    else
                    {
                        //word文档中不存在该书签,关闭文档
                        doc.Close(ref Nothing, ref Nothing, ref Nothing);
                    }
                }
                catch
                {
                    doc.Close(ref Nothing, ref Nothing, ref Nothing);
                }
            }
  • 相关阅读:
    Robocopy进行大量迁移
    以日期为文件名
    office outlook 無法開啟 outlook 視窗
    Dell R420 RAID建立以及系统安装
    CentOS系统如何设置服务开机自动运行
    Win10系统怎样让打开图片方式为照片查看器
    Download Software Top 10
    CentOS 5.11安装配置LAMP服务器(Apache+PHP5+MySQL)
    建模时,什么时候用值对象,什么时候用子表
    缓存穿透、缓存雪崩、缓存击穿的概念和解决方案
  • 原文地址:https://www.cnblogs.com/lhlong/p/14368099.html
Copyright © 2011-2022 走看看