Azzera filtri
Azzera filtri

Changing the outputted font of a wordApp code

4 visualizzazioni (ultimi 30 giorni)
Michael
Michael il 24 Apr 2024
Risposto: Brahmadev il 24 Apr 2024
Hi, I've begun writing code to open a microsoft word template, generate some outputted times and numbers, and fill the document with this info. Currently the defualt output is Aptos. How can this be changed?
My code:
% Define the file path of the existing Word document
docName = 'test_template1.docx'; % Your document filename
docPath = 'C:\Users\micha\OneDrive\Desktop\Tickets\test_template1.docx';
% Check if the file exists
if exist(docPath, 'file')
% Create a Word application
wordApp = actxserver('Word.Application');
% Check if Word application is activated
if ~isempty(wordApp)
try
% Open the existing document
wordDoc = wordApp.Documents.Open(docPath);
% FILL 1 - ID NUMBER
rng(0,'twister');
idNum = randi([740 9850],1,1);
idNum2 =('idNum');
% DATA FILL 2 - AREA
area = ('28213');
% DATA FILL 3 1st date
currentDate = upper(datestr(now, 'ddd dd mmm '));
% Variable Set time (currently 6:30 PM)
setTime = ('06:30');
% Add text to the document
wordApp.Selection.EndKey(6); % Go to the end of the document
wordApp.Selection.TypeParagraph; % Insert a new paragraph
wordApp.Selection.TypeText([idNum2, area, currentDate , setTime]);
% Save the document
wordDoc.Save;
% Close the document
wordDoc.Close;
% Quit Word application
wordApp.Quit;
disp('Document updated successfully.');
catch exception
disp('An error occurred:');
disp(exception.message);
% Close Word application
wordApp.Quit;
end
else
disp('Word application could not be activated.');
end
else
disp('The specified Word document does not exist.');
end
Thanks

Risposte (1)

Brahmadev
Brahmadev il 24 Apr 2024
If you would like to change the format of the data that is being displayed in the Word file. You can format you code as shown below:
% Define the file path of the existing Word document
docName = 'test_template1.docx'; % Your document filename
docPath = 'C:\Users\micha\OneDrive\Desktop\Tickets\test_template1.docx';
% Check if the file exists
if exist(docPath, 'file')
% Create a Word application
wordApp = actxserver('Word.Application');
% Check if Word application is activated
if ~isempty(wordApp)
try
% Open the existing document
wordDoc = wordApp.Documents.Open(docPath);
% FILL 1 - ID NUMBER
idNum = randi([740, 9850], 1, 1);
% Convert idNum to string if you want to concatenate it with other strings
idNumStr = num2str(idNum);
% DATA FILL 2 - AREA
area = '28213';
% DATA FILL 3 - 1st date
currentDate = upper(datestr(now, 'ddd dd mmm '));
% Variable Set time (currently 6:30 PM)
setTime = '06:30';
% Format the output string (example format)
outputText = sprintf('ID Number: %s, Area: %s, Date: %s, Time: %s', idNumStr, area, currentDate, setTime);
% Add formatted text to the document
wordApp.Selection.EndKey(6); % Go to the end of the document
wordApp.Selection.TypeParagraph; % Insert a new paragraph
wordApp.Selection.TypeText(outputText);
% Save the document
wordDoc.Save;
% Close the document
wordDoc.Close;
% Quit Word application
wordApp.Quit;
disp('Document updated successfully.');
catch exception
disp('An error occurred:');
disp(exception.message);
% Close Word application
wordApp.Quit;
end
else
disp('Word application could not be activated.');
end
else
disp('The specified Word document does not exist.');
end
Hope this helps in resolving your query!

Community Treasure Hunt

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

Start Hunting!

Translated by