Creating Chart with Excel (ActiveX)

9 vues (au cours des 30 derniers jours)
Eduardo Gaona Peña
Eduardo Gaona Peña le 9 Nov 2017
Commenté : Mike Shives le 15 Août 2023
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.

Réponse acceptée

Guillaume
Guillaume le 9 Nov 2017
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 commentaires
Guillaume
Guillaume le 9 Nov 2017
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 le 15 Août 2023
I just tried using ws.ChartObjects.Add and got the message ''Add' requires Model-Based Calibration Toolbox.' any advice?

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by