Reference an excel workbook that's already open

4 次查看(过去 30 天)
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,

采纳的回答

Al Dente
Al Dente 2015-5-27
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Use COM Objects in MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by