【发布时间】:2013-08-24 22:09:41
【问题描述】:
当我打开 excel 文件时,我有以下代码来执行 xlam 文件:
Sub Auto_Open()
Application.OnTime Now + TimeValue("00:00:05"), "readCsv"
End Sub
Sub readCsv()
....
End Sub
我将它添加为加载项,因此我打开的每个文件都有 xlam 文件。如果没有打开其他 excel 文件,它可以正常工作,但是在没有关闭 excel 文件的情况下,我打开了第二个文件,它什么也不做。即使打开了另一个 excel 文件,我也需要执行代码。这可能吗?
我也尝试在 ThisWorkbook 中编写代码,但结果是一样的,如果打开了另一个 excel 文件,它什么也不做。
【问题讨论】:
-
这不是足够的代码。你怎么打开文件?考虑以只读方式打开它。你有错误吗?您是否尝试过调试代码?
-
为什么还不够? readCsv 中的内容无关紧要,因为它运行良好......问题是 Auto_Open 仅在没有其他 excel 文件打开时才有效,如果我将 readCsv 放入 ThisWorkbook 也会发生同样的情况。我只需双击要打开的excel文件即可打开文件。希望这个解释会有所帮助。
-
它不起作用...首先我将 Auto_open() 替换为 Workbook_open() 并且即使使用第一个打开的 excel 文件也无法正常工作。然后我在 Internet 上看到 Workbook_Open() 必须在 ThisWorkbook 中,然后我把它放在那里。对于第一个打开的 excel 文件,它可以工作,但不能用于第二个......所以基本上 Auto_open() 和 Workbook_open() 给了我相同的结果。
-
你意识到你必须在你打开的每个文件中都有代码才能执行 Workbook_Open()
标签: excel excel-addins autoexec vba