Adding file in Excel with ActiveX and OLEObject

2 views (last 30 days)
gdell0
gdell0 on 17 Dec 2021
Commented: gdell0 on 20 Dec 2021
Hello,
I have a question about Excel automation and OLEObject.
I have a code that generate a Excel report using ActiveX. My purpose is to insert a file (in my case .html) in a Excel worksheet so that the user can access it by cliking on the icon :
Here the code I tested (Matlab 2016b) :
e = actxserver('Excel.Application');
WB = e.Workbooks.Open(MyExcelFile);
eSheets = e.activeWorkbook.Sheets;
eSheetDatas = eSheets.get('Item', 1);
eSheetDatas.Activate
eSheetDatas.OLEObjects.Add([],MyHTMLFile,0,1,[],[],[],100,500,50,50); % For the options I want to fix a position, and show an icon
Close(WB)
Quit(e)
delete(e)
When I run this, Matlab get stuck like in infinite loop.
I think the syntax of the OLEObject.Add is not good for matlab.
Any help please ?
  1 Comment
gdell0
gdell0 on 20 Dec 2021
I did some more tests. In fact my code got stuck on the line :
Close(WB)
But only if I use add an OLE object before. I already used Close(WB) on another code with writing datas and changing forms and it worked well.
So I thouth about an issue while saving the xls file with the OLE object and tried this :
WB.Close(1, MyExcelFile)
But same behavior. Matlab get stuck on this line without closing the file.
If someone has an idea.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by