从Excel复制范围并在Powerpoint上粘贴为位图时出错

时间:2014-09-08 15:28:50

标签: c# excel powerpoint

我正在运行下面的C#代码:

foreach(PictureObj pObj in this.picture_list) {
            pObj._Picture.Copy();
            slide.Shapes.PasteSpecial(Microsoft.Office.Interop.PowerPoint.PpPasteDataType.ppPasteBitmap);
            foreach(Microsoft.Office.Interop.PowerPoint.Shape s in shapes) {
                if(s._Name.Equals(pObj._Name)){
                    s.LockAspectRatio = Microsoft.Office.Core.MsoTriState.msoFalse;
                    s._Width = pObj._Width;
                    s._Height = pObj._Height;
                    s._Left = pObj._Left;
                    s._Top = pObj._Top;
                }
            }
        }

pObj._Picture属性类型为Microsoft.Office.Interop.Excel.Range。

如果我一次一步地在调试器上运行代码它可以工作但是当我实际尝试运行程序时,我在PasteSpecial方法上得到了以下错误:

形状(未知成员):无效的请求。剪贴板为空或包含可能未在此处粘贴的数据。

有时会在停止之前粘贴一两张图片,我怀疑剪贴板不同步。如果我的怀疑是正确的,我如何等待剪贴板完成它需要做的事情?

如果这不是问题,那么我如何得到所需的结果呢?

0 个答案:

没有答案