求VBA编程高手。。用vba loop循环打开一个文件夹里的word文档,文档页数不能全部加载,是啥问题?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求VBA编程高手。。用vba loop循环打开一个文件夹里的word文档,文档页数不能全部加载,是啥问题?相关的知识,希望对你有一定的参考价值。
用vba loop循环递归打开一个文件夹里的word文档,打开的文档只能显示前面一、二页,后面的几十页显示不了(可以手动向下拖右边的滑杆让页数全面全部,但不是我想要的,既然是程序不能用手参与),非要等到这个文件夹里的所有个word文档全部打开后(也就是Loop循环完了),每个文档后面的页数才全部显示,这是为什么呢?
下面是其中部分代码:
path = "D:\vba\test"
ChDir (path)
filename = Dir("D:\test\*.doc")
Do While filename <> ""
Documents.Open filename:=path & "\" & filename
filename = Dir
Loop
(就是在循环打开的期间,已经打开的word文档基本只能显示前2、3页,直到循环全部完成,word文档的所有页才一下子全部出来[每个word文档都有几十页])
财富值没有,能搞定的可能赏10块话费哈
问题1:为何要看页数?全打开后既然会显示,在打开期间 你要做什么操作么?
2: 我们打开一个大的Word的时候,会有一定的时间,等待文件完全打开后 一些信息才能显示,建议在 循环中间加上一个 延时的代码,打开后等待 一定的时间 再去打开另一个,可能会解决上面的问题,但是全部文件打开的时间会较长,是否合适。追问
1、不显示或者只显示2页的话,一保存,几十页的文档一下子就变成2页的了。内容都丢了。
打开期间我要修改并保存。(只有页数全部显示,保存后的文档才是完整的)
2、延时也加了,不管加多少分钟,都不显示全部页数,非得等到loop循环完了(“保存”操作是在Loop结束前的),才全部显示啊。郁闷
VBA学习笔记之循环
VBA 中Do while Loop用法如下:VBA中如果不知道重复多少次,使用 Do...Loop 语句。Do...Loop 语句重复执行某段代码直到条件是 true 或条件变成 true。重复执行代码直到条件是 true使用 While 关键字来检查 Do... Loop 语句的条件。
1
2
3
|
Do While i>10 ‘some code Loop |
如果 i 等于 9,上述循环内的代码将终止执行。
1
2
3
|
Do ‘some code Loop While i>10 |
这个循环内的代码将被执行至少一次,即使 i 小于 10。重复执行代码直到条件变成 true使用 Until 关键字来检查 Do...Loop 语句的条件。
1
2
3
|
Do Until i=10 ‘some code Loop |
如果 i 等于 10,上述循环内的代码将终止执行。
1
2
3
|
Do ‘some code Loop Until i=10 |
这个循环内的代码将被执行至少一次,即使 i 等于 10。退出 Do...Loop可以通过 Exit Do 关键词退出 Do...Loop 语句。
1
2
3
4
|
Do Until i=10 i=i-1 If i<10 Then Exit Do Loop |
这个循环内的代码,只要 i 不为 10 且 i 大于 10 时都将被执行。
以上是关于求VBA编程高手。。用vba loop循环打开一个文件夹里的word文档,文档页数不能全部加载,是啥问题?的主要内容,如果未能解决你的问题,请参考以下文章
vba如何把while loop得到的结果放入一个array里?
求解!Excel的VBA一开始运行时间大概在5秒左右吧,但是今天突然变成5分钟了!求大神救命!!