老师,您好,今天遇到一个问题:我需要把大量的Excel文件数据导入到Foxtable中, 这些文件都是固定格式的, 以前是宏程序收集数据,因此每个Excel的ThisWorkbook 存在open, BeforeClose事件,这样的话可以在每次打开或关闭该Excel文件时自动将Excel数据与总表进行数据交换, 但现在转Excel数据到Foxtable中时却遇到了麻烦:
在每次打开此类Excel文件时,该宏程序Open/BeforeClose都要运行一下,关键还要打开与之交换数据的其它文件,中间还有对话窗口(下图)需要手工关闭, 根本无法实现自动化数据处理, 因此我想问,是否有类似Excel中的application.enableevents=false的指令,能在我用Foxtable打开该Excel文件时能关闭Open事件
[此贴子已经被作者于2024/8/30 6:21:34编辑过]
本来想通过Excel禁用宏设置的, 但这带来的问题是平时又有大量需要使用宏程序的任务, 这样频繁设置又显太麻烦了, 所以我想最好是能有一个指令关闭Excel的宏程序,不知是否可以实现
我从网上查找到:
- ?使用Shift键?:在打开工作簿时按住Shift键,可以阻止Workbook_Open事件或Auto_Open宏中的代码执行。这种方法适用于Excel 2003及更高版本,特别是当宏安全性设置为“低”时有效?。
- 这个操作测试是有效的, 但不知道如何在Foxtable中是否有办法实现 模拟的按住Shift不放直到该文件被成功打开再释放的操作.
Foxtable中有 SendKeys 指令,但测试通不过,好像不能实现按住不放的效果
[此贴子已经被作者于2024/8/30 6:22:56编辑过]
我终于试出来了, 在执行
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open(fpf....
指令前,加指令 App.EnableEvents = False 即可, 给大家太麻烦了