无法使用microsoft.office.interop.word在当前一字之后插入图像

兔子

我正在尝试打开一个现有的word文件并将图像插入其中(图像名称及其路径已传递给函数)。

代码逻辑工作正常,但每次将新图像文件插入/放置在最后一个图像的顶部时都会遇到挑战。平均而言,最新图像显示在word文件的第一页上,其余部分则相应地显示。但是我的目标是最古老的城堡在最上面。或者您可以说第一个城堡将在第一宫,第二宫,第三宫.....

这是我的代码示例。

using WordC = Microsoft.Office.Interop.Word;

public void insertImage(string docFileName, string imgFilename)
{
    WordC.Application wordApp = new WordC.Application();
    //  create Word document object
    WordC.Document aDoc = null;
    object readOnly = false;
     object isVisible = false;
     wordApp.Visible = false;
    //  wordApp.DisplayAlerts = false;
    aDoc = wordApp.Documents.Open(docFileName, Type.Missing, ref readOnly, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, ref isVisible, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing);
     aDoc.Activate();
    // WordC.Document doc = WordApp.Documents.Open(docFileName);
    // now add the picture in active document reference
    aDoc.InlineShapes.AddPicture(imgFilename, Type.Missing, Type.Missing, Type.Missing);

    aDoc.Save();
    aDoc.Close(Type.Missing, Type.Missing, Type.Missing);
    wordApp.Quit(Type.Missing, Type.Missing, Type.Missing);
}
兔子

我已经在下面修改了代码。我正在传递范围对象,目前为止解决了我的问题。仍然在寻找更好的解决方案(如果有的话)。

object o_CollapseEnd = WordC.WdCollapseDirection.wdCollapseEnd;
                 WordC.Range imgrng = aDoc.Content;
                 imgrng.Collapse(ref o_CollapseEnd);
                 imgrng.InlineShapes.AddPicture(imgFilename, Type.Missing, Type.Missing,imgrng);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将类型为“ microsoft.Office.Interop.Excel.ApplicationClass”的COM对象转换为“ microsoft.Office.Interop.Excel.Application”

我如何创建接口Microsoft.Office.Interop.Word.Application的新实例

Microsoft.Office.Interop.Word OMath

可以将DebuggerDisplay属性应用于Microsoft.Office.Interop.Word.Range吗?

C#-Microsoft.Office.Interop.Excel.Sheets到Microsoft.Office.Interop.Excel.Worksheet []

是否可以使用Microsoft.Office.Interop.Word以编程方式从Word文档中删除行号?

Microsoft.Office.Interop.Excel的阅读范围

使用Microsoft.Office.Interop.Word在每行中加粗一部分字符串/范围

如何使用Microsoft.Office.Interop.Word库删除输出中的段落间距

Microsoft.Office.Interop.Word:在C#中为图像添加标题

使用f#Microsoft.Office.Interop.Word搜索和替换

机器中的单独Microsoft.Office.Interop.Word实例和Word应用程序

使用Microsoft.Office.Interop.Word查找所选单元格的索引

使用Microsoft.Office.Interop.Word启用内置的Microsoft Word按钮控件

使用Microsoft.Office.Interop Word和Excel

使用参考C#添加Microsoft.Office.InterOp.Word

Microsoft.Office.Interop.Word.WdRelativeHorizontalPosition出现C#编译器错误;

无法添加对microsoft.office.interop.excel的引用

在VBScript中使用Microsoft.Office.Interop.Word枚举常量

Office 2007的Microsoft.Office.Interop.Excel

Microsoft.Office.Interop.Word中仅可访问的第一页

在SharePoint 2010中使用Microsoft Office 2013 Interop dll

Microsoft.Interop.Office.Word完整样式不适用

C#使用Microsoft.Office.Interop.Excel读取数据

如何使用 Microsoft.Office.Interop.Word 在 C# 中编辑 docx 文件

C# Microsoft.Office.Interop.Word 保护段落

如何通过 Microsoft.Office.Interop.Word 在 wdRevisionsViewFinal 中将 word 转换为 html?

将一个文档插入另一个 Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word - Word 在尝试打开文件时遇到错误