append new rows in the middle of an excel file's sheet
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
AMINE EL MOUATAMID
le 26 Avr 2019
Commenté : Guillaume
le 28 Avr 2019
I am working on an excel file using actx function
then I want to add some rows in the middle of the sheet
is there a way to solve this ?

Réponse acceptée
Guillaume
le 26 Avr 2019
Probably the easiest way to find out the code you need to use is to record a macro in excel while you do the insertion and fix the formatting (which excel will inevitably mess up). The code you then use in matlab will be more or less identical to the VBA code generated by the macro (with adjustments for the difference in language syntax).
2 commentaires
Guillaume
le 28 Avr 2019
For some reasons, I never saw your comment until today.
Once you've connected to excel with actxserver you use more or less the same commands in matlab as you would in VBA. So, yes:
excel = actxserver('Excel.Application'); %connect to excel
wb = excel.Workbooks.Open('C:\somewhere\somefolder\somefile.xlsx');
ws = wb.Worksheets.Item('Sheet1'); %One major difference is that you HAVE to use the Item property to access elements of collections
rg = ws.Range('1:4');
rg.Insert(-4121); %The other difference is that you have to use numeric values for constants. -4121 is the numeric value of XlShiftDown
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Import from MATLAB dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

