C# 使用open xml将粘贴插图形状从另一个word文档复制到word文档

C# 使用open xml将粘贴插图形状从另一个word文档复制到word文档,c#,ms-word,openxml,shapes,C#,Ms Word,Openxml,Shapes,我想将word插图(形状)从源文档复制到具有源样式和格式的目标文档,下面的代码执行相同的操作,但如果目标文档包含任何要删除的现有数据。 我使用了以下代码 Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application(); oWord.Visible = true; // Microsoft.Office.Interop.

我想将word插图(形状)从源文档复制到具有源样式和格式的目标文档,下面的代码执行相同的操作,但如果目标文档包含任何要删除的现有数据。 我使用了以下代码

        Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();
        oWord.Visible = true;
        // Microsoft.Office.Interop.Word.Document oDoc1 = oWord.Documents.Add();
        Microsoft.Office.Interop.Word.Document oDocDest = oWord.Documents.Open(@"E:\Docx\temp4.docx");
        Microsoft.Office.Interop.Word.Document oDocSour = oWord.Documents.Open(@"E:\Docx\q3.docx");

        Microsoft.Office.Interop.Word.Range oRangeSrc = oDocSour.Content;
        oRangeSrc.Copy();

        if (oDocDest.Paragraphs.Count > 0)
        {
            object docStart = oDocDest.Paragraphs.Count;
            object docEnd = oDocDest.Paragraphs.Count + 1;
            Microsoft.Office.Interop.Word.Range oRangeDst = oDocDest.Range(ref docStart, ref docEnd);
            oRangeDst.PasteSpecial(DataType: Microsoft.Office.Interop.Word.WdPasteOptions.wdKeepSourceFormatting);
        }

内容应粘贴在任何段落或内容之后(如果有)

问题中包含的代码与“开放式xml”无关。显示的代码使用“互操作”。所以很清楚你在问什么。假设您不理解什么是“开放xml”和互操作,您指的是互操作。。。此行指定整个文档内容:
oRangeDst=oDocDest.Range(ref docStart,ref docEnd)使用
docEnd
将两个参数都转到文档末尾。感谢CINDY MEISTER,是的代码正在使用office interop im查找两个解决方案,即office和open xmlValue超出范围,设置为docEnd ref时出错,然后尝试docEnd-1获取第一个参数