将位图粘贴到页脚后,VSTO C#Word崩溃

时间:2018-08-13 11:29:16

标签: c# ms-word vsto

编写加载项。 试图将图像放在.resx文件中的Word文档的页脚中。 由于InlineShapes.addPicture需要一个文件路径,所以我发现我可以使用剪贴板来插入图片(只是临时地),但是使用Paste()时Word会继续崩溃。 它以代码0(0x0)退出。

代码如下:

private void placeFooterNavigationOnce()
{
    Word.Range footerRange = Globals.ThisAddIn.Application.ActiveDocument.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
    Clipboard.SetImage(Resource1.Brackets);
    footerRange.Select();
    Globals.ThisAddIn.Application.Selection.Paste();
}

编辑-其他信息:

inlineShapes.addPicture执行相同的任务,没有任何错误。

将图像粘贴到文档主体中也可以。

1 个答案:

答案 0 :(得分:0)

@MikeK,这是我在VB.NET解决方案中要做的事情,试图弄清楚为什么位图的剪贴板复制/粘贴对我不起作用。我确定您可以将其适应C#解决方案。

            Dim img as Image, fName as String
            fName = "rClock32"
            img = My.Resources.ResourceManager.GetObject(fName)
            img.Save(ThisAddIn.LGPUserTempDir & fName & ".png")
            wApp.Selection.InlineShapes.AddPicture(ThisAddIn.LGPUserTempDir & fName & ".png")
            Kill(ThisAddIn.LGPUserTempDir & fName)
            img = Nothing