使用 Microsoft.Office.Interop.Word 进行插入, word 文件中 插入 “书签” 。
在com组件中引用Microsoft.Word.xxx.xx
注意下面的坑:
1. 如果要兼容 office ,自己电脑上需要装个07才行 (有可能不需要,我刚开始用的dll各种报错,可以先尝试不装)
2. win10 需要设置 .exe 以“管理员身份运行”, 在 属性 -> 兼容性 -> 管理员身份 (勾上)
3. 如果可以,直接把引用的 dll 放到 debug 目录下,引用debug下的dll。
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();Microsoft.Office.Interop.Word.Document doc = app.Documents.Add(strDocx);app = doc.Application;//doc.ActiveWindow.Visible = true;foreach (Microsoft.Office.Interop.Word.Bookmark bk in doc.Bookmarks){if (bk.Name == "MakeSealCompany"){bk.Range.Text = "插入文字";} else if (bk.Name == "qt_d") {insereatImage(app, bk, imgPath); // 插入图片}}doc.SaveAs(saveFileDialog1.FileName);app.Quit();private void insereatImage(Microsoft.Office.Interop.Word.Application app, Microsoft.Office.Interop.Word.Bookmark bk, string imgPath){bk.Select();Microsoft.Office.Interop.Word.Selection sel = app.Selection;Microsoft.Office.Interop.Word.InlineShape inlineShape = sel.InlineShapes.AddPicture(imgPath);//设置图片大小inlineShape.Width = 12;inlineShape.Height = 12;}