Word ActiveX Delete content underneath a heading
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Alessandro
am 10 Mai 2021
Kommentiert: Alessandro
am 11 Mai 2021
Hi,
I am using word to store images of some measurament.
everything works fine but I would like to add some automation.
By now I am doing the following:
actx_word = actxserver('Word.Application');
actx_word.Visible = true;
trace(actx_word.Visible);
% Open existing document
word_handle = invoke(actx_word.Documents,'Open',fullfile(word_file_p));
%Here I would like to delete the content of the heading
Nr=2
WordUtils.WordGoTo(actx_word, 11, 1, Nr)%Go to specific heading in document
WordUtils.WordGoTo(actx_word_p, 3, 2, Nr)%Go one line down
hgexport(fig, '-clipboard')%Copy figure image to Clipboard
invoke(actx_word.Selection,'Paste');%Paste it to word document
actx_word_p.Selection.TypeParagraph; %enter
Now my Problem is I would like to rewrite the content of the heading. So delete first the content underneath it. Is there a easy way for doing that ?
0 Kommentare
Akzeptierte Antwort
Thomas Jensen
am 10 Mai 2021
Hi Alessandro,
Working with Word documents in MATLAB is not that easy indeed, even a simple task as the one you described might be a nightmare.
I am not used to the WordUtils functions, but that is how I would approach this issue:
You can get the objects returned by the ActiveX Library, for example, to open the document you can use the line:
wordDocument = actx_word.Documents.Open(fullfile(word_file_p));
If you know the text of the heading and it is unique int the document, you can search for the text and replace it by a different text:
wordRange = wordDocument.Content;
wordRange.Find.Execute('HEADING_TEXT');
wordRange.Text = 'NEW_TEXT';
I usually create a unique string in the template with a unique string, like %%UNIQUE_STRING%% and I search for this string to replace it using the method I explained.
You can also create the heading by script:
wordRange.Text = 'HEADING_TEXT';
wordRange.Style = -2; % wdStyleHeading1
I hope these two approaches can already give you some directions.
Best regards,
1 Kommentar
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu MATLAB Report Generator finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!