求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块话费哈

参考技术A 简单测试时,放置了4、5个文件,只是显示一个个打开,还没有显示页数,未发现你说的问题。

问题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里?

VBA学习笔记之循环

vba中五种循环语句的区别

求解!Excel的VBA一开始运行时间大概在5秒左右吧,但是今天突然变成5分钟了!求大神救命!!

求VBA高手 ComboBox 自动出现在单元格,选择值后自动赋值给当前单元格的问题

VBA 中 do while loop 用法