Matlab 在 word中插入特定内容,批量生成不同内容的文件

来源:互联网 发布:英国劳氏海事数据库 编辑:程序博客网 时间:2024/06/05 18:33

在制作邀请信或者其他文件时,文件的主体内容相同,但是文件中的部分内容不同,如被邀请人的名字。手动添加这些内容会比较费时费力。本文介绍怎样在Matlab中批量生成这些文件。

文件的准备

编辑文件

首先我们编辑好文件的主体内容,需要填写的部分留空。如下图:
文件示例
在这个文件中,有5个空需要填充,在图中分别用红圈标出了。

添加书签

在需要填充的位置加入书签。鼠标点击要填充的位置,点击菜单栏“插入”–>”书签”:
添加书签1
在书签选项中添加书签,命名为“title”,并点击“添加”,其他位置类似。
添加书签2

Matlab 批量处理

% 判断Word是否已经打开,若已打开,就在打开的Word中进行操作,否则就打开Word filename  = [pwd, '\Test.doc'];try   Word = actxGetRunningServer('Word.Application');catch   Word = actxserver('Word.Application');end;% 设置Word是否可见% 在调试的时候可以设置为可见,实际运行时设置为不可见更快捷。Word.Visible = 1;% 打开模板文件Document = Word.Documents.Open(filename);% 返回书签和光标位置的句柄Bookmarks = Document.Bookmarks;     % 返回Bookmarks接口句柄Selection = Word.Selection;         % 返回Selection接口句柄% 之前添加的书签的名称marks= {'Title', 'Session', 'Date', 'Time', 'Topic'};% 开始处理for i = 1: length(marks)    Bookmark = invoke(Bookmarks,'Item',marks{i});    Selection.Start = Bookmark.Start;   % 光标移动到书签的位置    Selection.Text = 'Your Text Here!'; % 输入内容    Selection.Font.Underline = 1;       % 添加下划线endnewName = 'test2.doc';% 文件另存为Document.SaveAs2([pwd, '/', newName]);% 关闭wordWord.Quit

结果如下:
结果
相关函数请参考 Word 2013 开发人员参考

参考

matlab 生成 word


0 0
原创粉丝点击