OfficeDoc usage examples
Basic Example: (works on all formats: XLS/DOC/PPT)
[file,status,errMsg] = officedoc(fileName, 'open', 'mode','append');
status = officedoc(file, 'write', 'title','My data', 'data',[1,2,3;4,5,6], 'image',gcf, 'bold',1,'fgcolor','b');
status = officedoc(file, 'close');
XLS-specific Example:
% Open document in 'append' mode:
[file,status,errMsg] = officedoc('test.xls', 'open', 'mode','append');
% Write a header line to the document at a specific position:
status = officedoc(file, 'write', 'sheet','newSheet','Range','A2','data',{'A','B','C'});
% Format the header line (font, color, alignment, borders/edges):
% Note: we could also append these properties to the end of the 'write' command above
status = officedoc(file, 'format', 'bold','on','italic',1,'fgcolor',[1,0,0],'bgcolor','y','halign','center','EdgeBottom',{4,'b'});
% Some specific formatting not currently supported by officedoc:
set(file.fid.ActiveSheet.PageSetup, 'FirstPageNumber',5, 'CenterHeader','&"Arial,Bold"- Confidential -');
% Display the document in Excel application:
officedoc(file, 'display');
% Loop many times and append data to the bottom of the open document:
for index = 1 : 10
data = someComputation(); % e.g., magic(3) or {1,2,3; 'a','b','c'}
status = officedoc(file, 'write', 'data',data);
end
% Close the document, deleting standard sheets and releasing COM server:
status = officedoc(file, 'close', 'release',1,'delStd','on');
% Re-display document; file is no longer valid so we must use file name:
officedoc('test.xls', 'display');
DOC-specific Example:
% Open document in 'write' mode:
[file,status,errMsg] = officedoc('test.doc', 'open', 'mode','write');
% Write a title line at a specific position:
status = officedoc(file, 'write', 'title','My magic data','page',3,'line',4,'PageBreakBefore',1);
% Write data beneath the header:
status = officedoc(file, 'write', 'line',1,'data',magic(6),'halign','center');
% Format the data (font, color, alignment, borders/edges):
% Note: we could also append these properties to the end of the 'write' command above
status = officedoc(file, 'format', 'bold','on','italic',1,'fgcolor',[1,0,0],'bgcolor','y','EdgeBottom',{4,'b'});
% Some specific formatting not currently supported by officedoc:
set(file.fid.PageSetup.LineNumbering,'Active',1);
% Display the document in Word application:
officedoc(file, 'display');
% Loop many times and append data to the bottom of the open document page:
for index = 1 : 10
data = someComputation(); % e.g., magic(3) or {1,2,3; 'a','b','c'}
status = officedoc(file, 'write', 'data',data);
end
% Close the document, releasing COM server:
status = officedoc(file, 'close', 'release',1);
% Re-display document; file is no longer valid so we must use file name:
officedoc('test.doc', 'display');
PPT-specific Example:
% Open document in 'append' mode:
[file,status,errMsg] = officedoc('test.ppt', 'open', 'mode','append');
% Write a new slide with title and figure screenshot (taken via clipboard):
status = officedoc(file, 'write', 'title','Nice plot data','image',gcf,'meta','on');
% Format the slide footer and orientation
% Note: we could also append these properties to the end of the 'write' command above
status = officedoc(file, 'format', 'FooterText','copyright a@b.c','PageOrientation','landscape');
% Some specific formatting not currently supported by officedoc:
set(file.fid.Application.ActivePresentation.PageSetup,'FirstSlideNumber',5);
% Display the document in PowerPoint application (un-minimize and bring to front):
officedoc(file, 'display');
% Loop many times and append data to the bottom of slide #5:
for index = 1 : 10
data = someComputation(); % e.g., magic(3) or {1,2,3; 'a','b','c'}
status = officedoc(file, 'write', 'slide',5,'data',data);
end
% Close the document, releasing COM server:
status = officedoc(file, 'close', 'release',1);
% Re-display document; file is no longer valid so we must use file name:
officedoc('test.ppt', 'display');
Back to OfficeDoc product page