フィルターのクリア

Embed external files in published files

4 ビュー (過去 30 日間)
Dominik
Dominik 2012 年 5 月 3 日
Hi,
I use publish to Word-Document to document my analyses.
As part of the code I generate and external file (Excel sheet) which I would like to embed in the Published Word-Document created.
I understand it is possible to embed external graphics, but is there also a way of doing so with other external files?
Kind Regards, Dominik

採用された回答

Eric
Eric 2012 年 5 月 3 日
I don't know a lot about Matlab's built-in publishing capabilities, but I'd be surprised if what you are looking for is possible via that route.
Assuming you're running on Windows, what I would propose would be to create the Word document using your existing process and then embed the file using Word's COM interface. Let Word_fname be the name of the Word file in which you wish to embed a second file, called filename. These should be fully-resolved filenames. You can do something like:
%%Create COM objects
Word_COM = actxserver('Word.Application');
File_COM = Word_COM.Documents.Open(Word_fname);
Word_COM.Visible = 1;
%%Go to the end of the file
wdStory = 6;
Word_COM.Selection.EndKey(wdStory);
%%Try to get icon information
[pathstr, name, ext] = fileparts(filename);
applink = winqueryreg('HKEY_CLASSES_ROOT',ext);
try
app = winqueryreg('HKEY_CLASSES_ROOT',[applink '\DefaultIcon']);
if strcmpi(ext,'.xml')
icon_filename = 'C:\WINDOWS\system32\msxml3.dll';
icon_index = 0;
elseif strfind(app,',')
[token, remain] = strtok(app,',');
icon_filename = token;
icon_index = str2double(remain(2:end));%Strip off the comma and extract the icon index
else
icon_filename = 'C:\WINDOWS\system32\shell32.dll';
icon_index = 0;
end
catch ME
icon_filename = 'C:\WINDOWS\system32\shell32.dll';
icon_index = 0;
end
%%Embed object
Word_COM.Selection.TypeParagraph;%Add a carriage return
Word_COM.Selection.InlineShapes.AddOLEObject('',filename,false,true,icon_filename,icon_index,[name ext]);
Word_COM.Selection.TypeParagraph;%Add a carriage return
This isn't ideal since you need to post-process the Word document after publishing it, but you could turn this code into a function that is relatively simple to use.
Good luck,
Eric
  1 件のコメント
Jethendra Phani Somarowthu
Jethendra Phani Somarowthu 2018 年 5 月 2 日
Can you show me how to add a word document to an excel sheet as an object?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by