【问题标题】:How to instantiate a Graph Chart?如何实例化图表?
【发布时间】:2019-03-26 01:30:34
【问题描述】:

我目前正在尝试创建图表,例如通过 word vba 的饼图。

问题是运行这个词 vba 的机器没有可用的 excel,只有 word 和 ms 图表。

我尝试用 ms 图表创建图表,但无法成功。

从下面的代码中,我可以创建带有内联形状和图表的图表,并且在 word 窗口中显示了一个漂亮的条形图。

我无法为 Ms Graph 实例化图表元素。我找到了一个法语指南,说明了它应该如何完成,但我无法理解“me.graphique1”部分。

内联形状

Dim vlChart As Chart

Set vlChart = ActiveDocument.InlineShapes.AddChart2.Chart

图表

Dim vlChart As Graph.Chart

Set vlChart = Me.Graphique1.Object.Application.Chart

我希望能够创建一个图形对象,但我不知道我在做什么。

【问题讨论】:

    标签: vba graph ms-word


    【解决方案1】:

    不保证这仍然有效,因为 MS Graph 早已被弃用。以下代码示例演示了如何插入 MS Graph 对象并访问其数据表。

    此代码需要引用 VBA 工具/参考中的 MS Graph 对象库。我强烈建议您使用它,至少在编写代码时使用它,以便您拥有 Intellisense。

    Dim grph as Graph.Chart
    Dim grphData as Graph.DataSheet
    Dim grphApp as Graph.Application
    Dim doc as Word.Document
    Dim oleF as Word.OLEFormat
    Dim rng as Word.Range
    
    Set doc = ActiveDocument
    Set rng = doc.Content
    Set oleF = doc.InlineShapes.AddOLEObject(ClassType:="MSGraph.Chart.8", Range:=rng).OLEFormat
    oleF.DoVerb
    Set grphChart = oleF.Object
    Set grphApp = grphChart.Application
    Set grphData = grphApp.DataSheet
    grphData.Cells.Clear
    'Now start entering the data and formatting the chart
    

    【讨论】:

    • 非常感谢!尽管 MS Graph 很老了,但它是我目前情况下需要使用的,Excel 不可用,因此它限制了我们创建图表的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多