Save document with custom properties with actxserver Word
4 views (last 30 days)
Show older comments
The following script shall change custom properties of a word document using the activexserver syntax for Microsoft Word.
%% Initiallize Word Connection
hdlWord = actxserver('Word.Application');
hdlWord.Visible = true;
%% File and Location
fullLocation = 'C:\Users\Name\Documents\MATLAB\PropTest.docx';
hdlDoc = hdlWord.Documents.Open(fullLocation);
%% Property Change
hdlProp = get(hdlDoc.CustomDocumentProperties, 'Item', 'Property1');
get(hdlProp,'Value');
set(hdlProp,'Value','nice'); % saved as "jealous" before running the script
%% Save Doc
hdlWord.ActiveDocument.SaveAs2(fullLocation)
hdlDoc.Close();
hdlWord.Quit();
The property change itself is working. Sadly, the script is not saving the document. There is no error or warning given out.
If I comment the close functions and click save manually it works fine.
If I save the document as a another file the properties are changed and saved. Therefore, a work around by deleting and renaming and so on would work.
Could someone help me out on how to save the opened document and close it by script?
5 Comments
Umar
on 11 Jul 2024
Hi Philipp,
Mario just posted a comment about resolving this issue. Please try his suggested solution and update us about test results.
Answers (1)
Mario Malic
on 10 Jul 2024
4 Comments
Mario Malic
on 15 Jul 2024
The flag is not ment to be used for these purposes, so it's better to remove it.
See Also
Categories
Find more on MATLAB Report Generator in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!