Как создать график диаграммы? - PullRequest
1 голос
/ 25 марта 2019

Я сейчас пытаюсь создать график, например, круговая диаграмма через слово vba.

Проблема в том, что машины, на которых будет запускаться это слово vba, не имеют Excel, есть только слово и граф ms.

Я пытался создать диаграмму с графиком мс, но я не могу заставить ее работать.

Начиная с кода ниже, я могу создавать диаграммы с линейными фигурами и диаграммой, и я получаю хорошую гистограмму, представленную в окне слова.

Я не могу создать экземпляр элемента диаграммы для Ms Graph. Я нашел французский справочник, который показывает, как это должно быть сделано, но я не могу понять, что такое «me.graphique1», чтобы иметь смысл.

InlineShapes

Dim vlChart As Chart

Set vlChart = ActiveDocument.InlineShapes.AddChart2.Chart

Graph

Dim vlChart As Graph.Chart

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

Я ожидал бы, что смогу создать объект графа, но я не знаю, что я делаю.

1 Ответ

0 голосов
/ 25 марта 2019

Нет гарантий, что это все еще будет работать, так как MS Graph уже давно устарел. В следующем примере кода показано, как вставить объект MS Graph и получить доступ к его листу данных.

Этот код требует ссылки на библиотеку объектов MS Graph в VBA Tools / References. Я настоятельно рекомендую вам использовать его, по крайней мере, при написании кода, чтобы иметь 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...