我有一个已开发的Word加载项VSTO程序。该程序执行的功能之一是检查Word中的每个段落中的图形/图像,如果找到它们,则从该段落中复制图像,并将其保存到用户PC上的文件夹中。
用于执行此操作的代码很简单:
image.Range.Copy();
然后获取我使用的图像:
System.Drawing.Image clipboardImage = Clipboard.GetImage();
然后我使用以下命令保存它:
clipboardImage.Save(pathToDirectory);
这在Word的早期版本上可以正常运行,但是使用365(我认为2013,尽管未确认)会在尝试使用Clipboard.GetImage()获取图像时引发空引用异常。
有人知道为什么会这样吗?为什么Word 365可能有问题(不是浏览器版本,而是在本地完全安装)。
答案 0 :(得分:1)
最后,这是适用于365的东西:
image.Range.Select();
image.Application.Selection.Copy();
System.Drawing.Image clipboardImage = null;
if (Clipboard.ContainsImage())
{
clipboardImage = Clipboard.GetImage();
//do something with the image on the clipboard
}
答案 1 :(得分:0)
如评论中所述,您正在将Visual Studio 2015与.Net 4.5一起使用
如here所述,Office 365 仅适用于Visual Studio 2017和.Net 4.6.1 (及更高版本)。