我需要使用vs 2010,C#以编程方式在Word 2007文档中插入或编辑饼图,我发现的所有内容都显示了如何将这些旧的难看的图表放入Word文档中。所以我现在想知道是否有可能操纵更新和外观更好的图表。

这张图显示了如何做我想做的事,只是旧的丑陋图表.... http://msdn.microsoft.com/en-us/library/ms178766.aspx。它告诉您插入一个OLE对象,这是古老的msgraph.chart.8东西。

除了使用较新的图表样式外,我已经能够做所有需要做的事情。

这是一些代码。我建立了一个新的饼图,现在如何将其插入Word文档中?我的PieChart3D类基于这些http://code.msdn.microsoft.com/mschart

// here's my c#.net

private void CreateChart(string title, Microsoft.Office.Interop.Word.Application oWord, Microsoft.Office.Interop.Word.Document oDoc, ChartType chartType, Hashtable values)
{
  PieChart3D chart1 = new PieChart3D();  // using System.Windows.Forms.DataVisualization.Charting
  chart1.PieChart3D_Load(values);

  object oMissing = System.Reflection.Missing.Value;
  object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */
  Microsoft.Office.Interop.Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

  // None of these work!!!!
  wrdRng.InlineShapes.AddOLEControl(chart1);
  wrdRng.InlineShapes.AddChart(chart1);
  wrdRng.InlineShapes.AddOLEObject(chart1);

  return;
}

// done with code

在我看来,我只需要将其注入(inject)文档中的最后一步。我想念什么?

最佳答案

您可能应该将丢失的参数添加到“AddOLEControl()”调用中,这只是出于很好的考虑。

How to insert an excel chart into Word using AddOLEObject

http://support.microsoft.com/kb/316384

关于c# - 如何使用vs 2010,C#以编程方式在Word 2007文档中插入或编辑饼图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3980766/

10-10 06:30