Reference an excel workbook that's already open

7 views (last 30 days)
Trying to reference a workbook that's already open rather than opening a new one. I can use activeX to connect to the existing server:
XLex = actxGetRunningServer('Excel.Application');
But having trouble referencing the workbook,tried a few different syntax, eg with 'Book3.xlsx'.
xlFILE = XLex.Workbooks.get('Workbooks','Book3.xlsx');
Or
XLex = get(XLex.Excel.ActiveWorkbook,'Workbooks', 'Book3.xlsx');
Neither of which will work! Thanks,

Accepted Answer

Al Dente
Al Dente on 27 May 2015
actually
XLex.ActiveWorkbook
would give you a handle to the currently active workbook
you can even
XLex.ActiveWorkbook.Name
to see it's name. If more are open you can
for i = 1:XLex.Workbooks.Count
disp(XLex.Workbooks.Item(i).Name)
% XLex.Workbooks.Item(i) is a handle to the i-th item
end

More Answers (0)

Community Treasure Hunt

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

Start Hunting!