C# vsto Powerpoint pastespecial 在使用 ppPasteMetafilePicture 时失败

C# vsto Powerpoint pastespecial fails when using ppPasteMetafilePicture

我正在尝试使用下面的代码部分将元图片从剪贴板(来自 excel)粘贴到 powerpoint 幻灯片中。当我使用 ppPasteDefault 或 ppPasteBitmap 粘贴类型时它工作正常但当使用 ppPasteMetafilePicture 或其他任何东西时失败。

我收到错误; “形状(未知成员):无效请求。指定的数据类型不可用。”

Bitmap image = new Bitmap(Clipboard.GetImage());

s.Application.Activate();

var p = s.Shapes.PasteSpecial(Microsoft.Office.Interop.PowerPoint.PpPasteDataType.ppPasteDefault, Microsoft.Office.Core.MsoTriState.msoFalse, "", 0, "", Microsoft.Office.Core.MsoTriState.msoFalse);

我调查了几个小时后找到了原因。 看来我复制到剪贴板的应该是增强元图片而不是位图。 所以我改变了我的范围复制 excel 部分图片类型从 xlBitmap 到 xlPicture 然后它起作用了。