Add a new Excel sheet from Matlab

95 vues (au cours des 30 derniers jours)
Derek Jing
Derek Jing le 6 Mar 2011
Commenté : pravesh verma le 7 Juil 2016
Hi,
I am using ActiveX server to control Excel spreadsheet. Now I am using Worksheet.Sheets.Add to add a new sheet, but it add before the currently active sheet. I do not know how to apply the 'After' option there.
In all, I want to add a new sheet to the end (the last sheet), and set a new for this new sheet. Anyone can tell me how to apply 'After' and 'name' options to the Matlab command?
Thanks in advance for your help.
Regards, Derek
  1 commentaire
pravesh verma
pravesh verma le 7 Juil 2016
sir plz provide all matlab sheet

Connectez-vous pour commenter.

Réponse acceptée

Jiro Doke
Jiro Doke le 6 Mar 2011
According to the VBA documentation on MSDN, to add after the active sheet, specify the active sheet as the second argument to the Add method:
Worksheet.Sheets.Add([], ActiveSheet)
Here's an example that adds a new sheet after the last worksheet (example assumes an Excel file called "Book1.xlsx" in the current folder):
% Connect to Excel
Excel = actxserver('excel.application');
% Get Workbook object
WB = Excel.Workbooks.Open(fullfile(pwd, 'Book1.xlsx'), 0, false);
% Get Worksheets object
WS = WB.Worksheets;
% Add after the last sheet
WS.Add([], WS.Item(WS.Count));
% Save
WB.Save();
% Quit Excel
Excel.Quit();
  4 commentaires
Ilyas
Ilyas le 21 Oct 2014
Wouldn't it be much easier if you provided a simple code? I don't understand what you are trying to do.
Image Analyst
Image Analyst le 21 Oct 2014
Ilays, it IS simple. There are only 5 lines of code there. The rest is just comments to explain it.

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