Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 宏找不到在执行期间生成的工作簿_Excel_Vba - Fatal编程技术网

Excel 宏找不到在执行期间生成的工作簿

Excel 宏找不到在执行期间生成的工作簿,excel,vba,Excel,Vba,我正在尝试使用外部软件自动生成一些电子表格,但当生成新表格时,宏无法找到它 因为生成工作表的软件不是microsoft对象,所以我一直在使用鼠标事件和SendKeys与之交互,因为软件每次都会加载到监视器上的固定位置 到目前为止,我已经在工作簿中尝试了每个x,如果x.name=defaultName(保证在生成时始终是相同的名称),但都返回了错误 调用LeftClick 睡眠(20000) MsgBox(工作簿.计数) 对于工作簿中的每本书 如果(book.name=“gwpr.xls”),则

我正在尝试使用外部软件自动生成一些电子表格,但当生成新表格时,宏无法找到它

因为生成工作表的软件不是microsoft对象,所以我一直在使用鼠标事件和SendKeys与之交互,因为软件每次都会加载到监视器上的固定位置

到目前为止,我已经在工作簿中尝试了每个x,如果x.name=defaultName(保证在生成时始终是相同的名称),但都返回了错误

调用LeftClick
睡眠(20000)
MsgBox(工作簿.计数)
对于工作簿中的每本书
如果(book.name=“gwpr.xls”),则
集摘录=书
退出
如果结束
下一本书
摘录.工作表(“表1”).UsedRange.Copy
代码中的左键单击软件中的“导出到excel”按钮,20秒的睡眠时间是为了让工作簿有足够的时间打开(这部分不会失败)

因此,工作簿.计数行应打开3个工作簿,但它始终输出2个,并且For Each块也找不到新工作簿


是否有人知道VBA在执行过程中难以识别生成的工作簿的原因,以及可能存在的解决方法?

可能您正在创建的新工作簿位于Excel应用程序的新实例中,这就是宏无法识别或计数它的原因。在生成新工作簿后,在任务管理器上检查是否有两个Excel实例同时运行,并与@PabloG一致,使用“导出到Excel”程序对此进行了几次测试。来解决你的问题。是的!我甚至没有意识到这是可能的,非常感谢@PabloG!现在,我们将研究Plutian链接的线程,看看这是否解决不了我的问题。好的,只是确认一下,但该线程确实解决了问题。我对你们两位的帮助感激不尽。