Creating Chart with Excel (ActiveX)

19 次查看(过去 30 天)
Right now I'm writing the code for the output of an app I developed with the appdesigner, and I'm struggling to make it create a chart using Actx. I'm getting a strange error saying that the method for creating a chart cannot be found :/ Other than that all the commands that I've sent to excel are working just fine....
Line of code used:
Chart=wb.ActiveSheet.ChartObjects.Add();
Any idea what's happening?
Thanks a lot in advance.

采纳的回答

Guillaume
Guillaume 2017-11-9
A lot of VBA examples on the net use Activexxx to refer to various objects. It always befuddles me since that breaks easily (something else, maybe the user, may change what is actually active).
Possibly, the ActiveSheet is not a worksheet to which a Chart object can be added. Rather than using ActiveSheet get the reference to the sheet you actually want to use:
ws = wb.Sheets.Item(sheetnameornumber);
chart = ws.ChartObjects.Add
If that still doesn't work, then I would break down the expression to see which part actually fails:
worksheets = wb.Worksheets; %get the worksheet collection
ws = worksheets.Item(nameorindex); %get a specific worksheet
chartobjects = ws.ChartObjects; %get the chartobject collection of the worksheet
chart = chartobjects.Add; %add a chart
  3 个评论
Guillaume
Guillaume 2017-11-9
AddChart2 is not a method of the Worksheet object. It is a method of the Shapes collection which is a completely different collection from the ChartObjects collection.
Mike Shives
Mike Shives 2023-8-15
I just tried using ws.ChartObjects.Add and got the message ''Add' requires Model-Based Calibration Toolbox.' any advice?

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by