Is it possible to adjust page setup options in Excel with MATLAB?

4 vues (au cours des 30 derniers jours)
Calabrese
Calabrese le 15 Juin 2017
If so, I would like to access Print, Page Setup, set to Landscape, and Fit to 1 pages wide and 100 pages tall. Then print to PDF with the same file name and delete the original *.xlsx file.

Réponse acceptée

Jayaram Theegala
Jayaram Theegala le 19 Juin 2017
You can use the "actxserver" command in MATLAB to create Excel COM object and then use the functions exported by the COM object to Print, Page Setup. To find more information about the Excel COM functions, click on the following URL:
For more information about "actxserver" command and an example script to see how to use Excel COM object with MATLAB, click on the following URL:
You might find the following MATLAB script helpful to get started:
e = actxserver('Excel.Application');
e.Visible = 1;
e.Workbooks.Open('<your path to Excel file>');
%Print out Sheet 1 with default printer and settings
e.Worksheets.Sheets('Sheet1').PrintOut
delete('<your path to Excel file>');
Also, if you just want to save the file as PDF, you can use the Workbook's "SaveAs" function. To find more information about this function, click on the following URL:
  1 commentaire
Calabrese
Calabrese le 23 Juin 2017
I am not familiar with actxserver functions. I was hoping it could be performed similarly to adjusting information within cells. Thank you for you answer nonetheless

Connectez-vous pour commenter.

Plus de réponses (1)

Meng Li Gan
Meng Li Gan le 1 Fév 2019
I not sure is it the answer that you need but i just sharing here what I did for page setup.
excel = actxserver('Excel.Application');
excel.Visible = 1;
workbook = excel.Workbooks.Open('filename');
worksheet = workbook.Worksheets.Item(1); % Choose desired sheet
worksheet.PageSetup.Orientation = 2; %to set the page to landscape (if portrait change the 2 to 1)
% if want to customize the margin, you need to convert the inch to point (1 inch = 72 point
worksheet.PageSetup.LeftMargin = 12.96;
worksheet.PageSetup.RightMargin = 36;
worksheet.PageSetup.TopMargin = 36;
worksheet.PageSetup.BottomMargin = 36;
worksheet.PageSetup.HeaderMargin = 36;
worksheet.PageSetup.FooterMargin = 36;
worksheet.PageSetup.Zoom = false; %zoom must set to false, otherwise FitToPagesWide will be ingnored
worksheet.PageSetup.FitToPagesWide = 1;
worksheet.PageSetup.FitToPagesTall = 100;
  1 commentaire
enrico maggiolini
enrico maggiolini le 21 Oct 2024
With these options i have a PDF that is not A4, how to resize it properly?
thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Use COM Objects in MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by