首页 > 解决方案 > 将位图粘贴到页脚后,VSTO C# Word 崩溃

问题描述

编写加载项。尝试将图像放置在 .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执行相同的任务而没有任何错误。

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

标签: c#ms-wordvsto

解决方案


@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

推荐阅读