Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
Vba 工作簿。激活不在某些计算机上工作_Vba_Excel - Fatal编程技术网

Vba 工作簿。激活不在某些计算机上工作

Vba 工作簿。激活不在某些计算机上工作,vba,excel,Vba,Excel,今天我遇到了一个奇怪的Excel 2013 VBA行为,我觉得发布这个问题的解决方案可能会在将来帮助其他人。 以下命令在我的计算机和大多数其他计算机上运行良好,但一个用户会收到错误消息。我正在使用Windows7 工作簿(“Book1”)。激活 我发现另一个用户显示了“已知文件类型的扩展名”。默认情况下,Windows希望隐藏这些。为了让代码在所有机器上正常工作,我必须在代码中包含文件扩展名,如下所示。创建新工作簿但尚未保存时,此命令中不需要包含文件扩展名,因为尚未确定文件扩展名。 只是猜测

今天我遇到了一个奇怪的Excel 2013 VBA行为,我觉得发布这个问题的解决方案可能会在将来帮助其他人。 以下命令在我的计算机和大多数其他计算机上运行良好,但一个用户会收到错误消息。我正在使用Windows7


工作簿(“Book1”)。激活

我发现另一个用户显示了“已知文件类型的扩展名”。默认情况下,Windows希望隐藏这些。为了让代码在所有机器上正常工作,我必须在代码中包含文件扩展名,如下所示。创建新工作簿但尚未保存时,此命令中不需要包含文件扩展名,因为尚未确定文件扩展名。


只是猜测,但这可能与Windows资源管理器的“文件夹选项”中的设置有关

在“视图”选项卡上有一个选项“隐藏已知文件类型的扩展名”-这将影响在VBA中按名称引用工作簿的方式


编辑:看来你已经做到了

我已经启用了文件扩展名,但它不起作用。我通过强制激活文件和工作表进行了修复

示例(文件仍处于打开状态时):


我知道
Activate
Select
是不够的,但是如果它有效的话..

在你的代码中使用两个dim作为工作簿,比如 将当前WB、新WB设置为工作簿

set currentwb = ActiveWorkbook
创建新工作簿集后

set newwb = ActiveWorkbook

什么错误消息?第一册有空吗?发布更多代码。
Book1
是保存的工作簿吗?好问题-谢谢。我应该说得更具体些。代码位于以前保存的Book1中。它创建了第二本名为未知的书。所以第二本书在创作时就被激活了。然后切换回原来的Book1是工作簿的位置。激活命令无法正常工作。谢谢Tim。当我第一次遇到这个问题时,我应该把它贴出来。我带我远程查看他的屏幕(不同的站点),开始寻找答案。你没有任何帮助就把它钉死了!在深入研究之前,我在这个网站上寻找了一个类似的问题和解决方案,这就是为什么我决定为其他人发布这个问题和答案。
set currentwb = ActiveWorkbook
set newwb = ActiveWorkbook