Word2010 vba 页眉替换问题
我需要把每个分页中页眉的部分文字替换,替换形式为:ABCDEF变为111CDF。我尝试写了下列代码:dimmysecassectionforeachmysecinacti...
我需要把每个分页中页眉的部分文字替换,替换形式为:ABCDEF变为111CDF。
我尝试写了下列代码:
dim mysec as section
for each mysec in activedocument.sections
mysec.headers(1).range.text=replace(mysec.headers(1).range.text,"ABC","111")
next
出现问题:执行替换后,自动新增一行,导致全文页码变动,尤其是我执行多次替换不同文字时。
请问:为什么会自动新增一行?如何解决该问题?
我的思路是尝试在replace(mysec.headers(1).range.text & ***, ,)在其中***追加代码,但是不知道怎么写。
我刚开始接触VBA,请指点。谢谢! 展开
我尝试写了下列代码:
dim mysec as section
for each mysec in activedocument.sections
mysec.headers(1).range.text=replace(mysec.headers(1).range.text,"ABC","111")
next
出现问题:执行替换后,自动新增一行,导致全文页码变动,尤其是我执行多次替换不同文字时。
请问:为什么会自动新增一行?如何解决该问题?
我的思路是尝试在replace(mysec.headers(1).range.text & ***, ,)在其中***追加代码,但是不知道怎么写。
我刚开始接触VBA,请指点。谢谢! 展开
1个回答
展开全部
亲,这一句要改一下:
mysec.Headers(1).Range.Text = Replace(Replace(mysec.Headers(1).Range.Text, "ABC", "111"), Chr(13), "")
因为,如果您注意观察,会发现页眉的文字最后都有一个回车字符,就如同段落、表格的末尾一样,这个字符也是页眉的一部分。你可以用debug.print len(mysec.headers(1).range.text)看一下页眉的长度,是包含了末尾回车字符的(chr(13))。所以,当你用replace替换之后,这个回车字符仍然在。
注意:关键是给header.range.text赋值时,word vba默认是不含最后一个回车字符的;这样更方便编程,否则每次都要记住在末尾加一个chr(13),岂不把人烦死!
最后,解决方法就是,再使用一次replace,在赋值前把回车符去掉。
mysec.Headers(1).Range.Text = Replace(Replace(mysec.Headers(1).Range.Text, "ABC", "111"), Chr(13), "")
因为,如果您注意观察,会发现页眉的文字最后都有一个回车字符,就如同段落、表格的末尾一样,这个字符也是页眉的一部分。你可以用debug.print len(mysec.headers(1).range.text)看一下页眉的长度,是包含了末尾回车字符的(chr(13))。所以,当你用replace替换之后,这个回车字符仍然在。
注意:关键是给header.range.text赋值时,word vba默认是不含最后一个回车字符的;这样更方便编程,否则每次都要记住在末尾加一个chr(13),岂不把人烦死!
最后,解决方法就是,再使用一次replace,在赋值前把回车符去掉。
追问
你好,Repalce(Replace(,,,),,)这样嵌套也行?我之前想到的解决办法是在替换ABC的下面重复一条replace替换chr(13);
还有,debug.print len这句话的结果在哪?我在页眉中没看到;
另外,我在文本框中的替代也使用了replace的功能,但是没有出现默认包含回车的情况,是否只有是页眉这地方会自动默认包含回车?
追答
replace函数的嵌套使用,当然可以啦。已经测试过了。
文本框的text属性值是否包含了最后的换行符,您可以在立即窗口用len函数测试一下长度便知。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
博思aippt
2024-07-20 广告
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT...
点击进入详情页
本回答由博思aippt提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |