c# - 将位图粘贴到页脚后,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
执行相同的任务而没有任何错误。
将图像粘贴到文档正文中也可以。
解决方案
@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
推荐阅读
- docker - 您可以将所有从 docker 传出的网络流量代理到主机上运行的代理吗?
- mysql - 使用 MYSQL/MariaDB 和 REGEXP_SUBSTR 匹配逗号分隔后的数字值,通过下划线值连接
- mysql - 如何防止 laravel 预订代码中的交叉预订/超额预订
- excel - 从 URL POWER QUERY 获取文件名
- macos - 未找到 PHPMYADMIN(Homebrew、BigSur、M1 CHIP)
- android - Firebase onDataChange Listener 是否总是在应用程序关闭后自动删除?或者,不是而且账单也在增加?
- linux - 如何检查进程是否连接到 X11 unix socket
- php - 在 Codeigniter 3 中验证电子邮件
- javascript - 常用表达
- c - 地址处的不可读指令