[已答复] Matlab如何实现Word中查找替换功能?

[复制链接]
建安 发表于 2015-12-2 21:38:21


想把Matlab计算好的数据写到已有报告模板里,计算结果有很多,例如“结果1”、“结果2”、“结果3”。。。,查了很多,只找到如何打开Word和逐行写入,总结的程序如下:


filespec_user = [pwd '\模板.doc'];
Word = actxserver('Word.Application');
Word.Visible = 1;
Document = Word.Documents.Open(filespec_user);
Content = Document.Content;    % 返回Content接口句柄
Selection = Word.Selection;    % 返回Selection接口句柄
Paragraphformat = Selection.ParagraphFormat;  % 返回ParagraphFormat接口句柄
Content.Start = 0;         % 设置文档内容的起始位置
title = '试  卷  分  析';
Content.Text = title;      % 输入文字内容

希望能够让Matlab调用Word中的查找替换功能逐一替换,请各位大侠指点一下,多谢了!


8 条回复


建安 发表于 2015-12-3 00:15:24
又有了一步进展,能够实现查找功能了,但是最后一句全部替换的语法总是不对,
最后一句是Word宏里的,谁知道怎么改MATLAB才能运行。。。

Selection.Find.Replacement.ClearFormatting
Selection.Find.Text = '2015';
Selection.Find.Replacement.Text = '2016';
Selection.Find.Forward =1;
Selection.Find.Wrap = 'wdFindContinue';
Selection.Find.Format =0;
Selection.Find.MatchCase =  0;
Selection.Find.MatchWholeWord = 0;
Selection.Find.MatchByte = 1;
Selection.Find.MatchWildcards = 0;
Selection.Find.MatchSoundsLike =  0;
Selection.Find.MatchAllWordForms =0;
Selection.Find.Execute Replace:=wdReplaceAll;

ycdt 发表于 2015-12-15 20:37:37
建议楼主换个思路吧,如果实现“替换”功能不方便,那就先找,然后改写

ycdt 发表于 2015-12-15 20:39:42
去掉 Selection.Find.Replacement.Text = '2016';

最后一行改为
while(Selection.Find.Execute)
Selection.Text = '2016';
Selection.Start = Selection.End;
end

ycdt 发表于 2015-12-15 20:41:52
MATLAB执行了Selection.Find.Execute之后,查找到的'2015'是处于选中状态的。
此时,使用Selection.Text='2016',就把原来的内容替换掉了

我在Win7 x64 + MATLAB 2014b x64上测试通过。

ycdt 发表于 2015-12-16 18:40:48
还有一种方法,就是把Execute的参数写全,注意,不要写'wdReplaceAll‘之类的字符串,这些值在 VBA中实际上都是数值(好像是枚举值)。

我测试过了,可行。
word VBA上说甚至可以替换图片等

tourbliion 发表于 2020-1-6 12:44:57
请问,里面的.find   .text 是哪里的函数

优雅的转身 发表于 2021-8-19 16:51:37
ycdt 发表于 2015-12-16 18:40
还有一种方法,就是把Execute的参数写全,注意,不要写'wdReplaceAll‘之类的字符串,这些值在 VBA中实际上 ...

如何替换word中的图片呢?具体程序怎么写呢?

Titus_LTW 发表于 2021-10-13 16:09:33
十分感谢楼上的两位大哥,把这种繁琐的工作简单了。不过matlab小白还想请教一下楼主是怎么知道Selection.Find这些语句的?我看matlab里并没有这些。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表