Can';我们是否可以将PPT幻灯片中的形状以C#的原始格式复制到word文档中?

Can';我们是否可以将PPT幻灯片中的形状以C#的原始格式复制到word文档中?,c#,ms-word,C#,Ms Word,我试图将自选图形从PPT复制到word。但它是以图片格式复制的。我们无法在word中编辑文本或形状。如何避免这种情况 我使用的代码未给出预期结果: foreach (Microsoft.Office.Interop.PowerPoint.Shape shape in slide.Shapes) { if (targetDoc != null) { shape.Copy(); this.wordApp.ActiveWindow.Selection.Paste()

我试图将自选图形从PPT复制到word。但它是以图片格式复制的。我们无法在word中编辑文本或形状。如何避免这种情况

我使用的代码未给出预期结果:

foreach (Microsoft.Office.Interop.PowerPoint.Shape shape in slide.Shapes)
{
   if (targetDoc != null)
   {
      shape.Copy();
      this.wordApp.ActiveWindow.Selection.Paste();
   }
 }

这可能是Office中的默认内容。互操作库无法更改。

这可能是Office中的默认内容。互操作库无法更改。

显然,复制不是正确的API

CopySpecial可能是您所需要的(尽管您必须自己查看文档)


我建议在Word中录制宏,同时插入单个简单形状。检查宏中生成的代码,并镜像用于将形状构建为目标文档中的形状的代码。

显然,Copy不是正确的API

CopySpecial可能是您所需要的(尽管您必须自己查看文档)


我建议在Word中录制宏,同时插入单个简单形状。检查宏中生成的代码,并镜像用于将形状构建为目标文档中的形状的代码。

我设法以EMF格式复制形状

shape.Copy(); 

object objectMissing = System.Reflection.Missing.Value;                                                                             
object objLink = false;
object objType = WdPasteDataType.wdPasteEnhancedMetafile;                                        
wordApp.ActiveWindow.Selection.Range.PasteSpecial(ref objectMissing, ref objLink, ref objectMissing, ref objectMissing, ref objType, ref objectMissing, ref objectMissing);

我设法用EMF格式复制了这个形状

shape.Copy(); 

object objectMissing = System.Reflection.Missing.Value;                                                                             
object objLink = false;
object objType = WdPasteDataType.wdPasteEnhancedMetafile;                                        
wordApp.ActiveWindow.Selection.Range.PasteSpecial(ref objectMissing, ref objLink, ref objectMissing, ref objectMissing, ref objType, ref objectMissing, ref objectMissing);

很明显,您使用的不是Word 2010,这不是一个问题。但是Word 2007和Word 97-2003在处理自选图形的方式上是不同的,尤其是交叉产品-您使用的是哪一种?MSOffice 2007,VS 2008,Windows XP。我的问题是,我可以用图片格式复制形状,但不能用“自选图形”格式,明白了吗。MS Word 2007不会以本机方式创建或允许编辑PowerPoint/Excel 2007自选图形(Word 2010会)。Word 2007继续使用Word 2003及之前版本的自选图形,据说这是为了解决一些兼容性问题。要亲自查看,请分别在Word 2007和PowerPoint 2007中创建“心形”。你会注意到它们看起来有点不同。不幸的是,根据您的要求,无法从PowerPoint 2007复制并在Word 2007中编辑为可编辑的自选图形。好的,谢谢。但我可以复制EMF格式,允许编辑点,但不能编辑图片中的文本。粘贴emf图片后如何启用“编辑图片”选项?任何建议都会有帮助。提前感谢。要做到这一点,在复制EMF后,只需右键单击EMF并选择“分组->取消分组”。您现在可以访问形状的各个组件。显然,您使用的不是Word 2010,这不是问题所在。但是Word 2007和Word 97-2003在处理自选图形的方式上是不同的,尤其是交叉产品-您使用的是哪一种?MSOffice 2007,VS 2008,Windows XP。我的问题是,我可以用图片格式复制形状,但不能用“自选图形”格式,明白了吗。MS Word 2007不会以本机方式创建或允许编辑PowerPoint/Excel 2007自选图形(Word 2010会)。Word 2007继续使用Word 2003及之前版本的自选图形,据说这是为了解决一些兼容性问题。要亲自查看,请分别在Word 2007和PowerPoint 2007中创建“心形”。你会注意到它们看起来有点不同。不幸的是,根据您的要求,无法从PowerPoint 2007复制并在Word 2007中编辑为可编辑的自选图形。好的,谢谢。但我可以复制EMF格式,允许编辑点,但不能编辑图片中的文本。粘贴emf图片后如何启用“编辑图片”选项?任何建议都会有帮助。提前感谢。要做到这一点,在复制EMF后,只需右键单击EMF并选择“分组->取消分组”。现在,您可以访问形状的各个组件。