excel “启用宏”工作簿正在使用SaveAsUI创建新文件,而不是自行保存

czfnxgou  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(171)

我必须调用下面的行来从另一个文件保存我的工作簿:

Application.ActiveWorkbook.Save

对于我的项目的需要,这段代码需要在一个不同的文件中运行,而不是在我打开和激活的文件中运行。
当此代码从另一个工作簿运行时,我打开并激活的文件将调用SaveAsUI再次保存该文件,即使该文件已经保存。
运行上述代码后,原始工作簿丢失。我无法手动或通过宏保存任何或活动工作簿,也不想另存为原始文件。出现了几个错误,例如:
random filename in the SaveAsUI
Unespected Error, AutoRecover Disabled
Share Rule Violation (PT/BR)
对不起,我不能抓住这个错误的英语。这里它的翻译:
“由于共享冲突,您的更改无法保存到”文件“中。请尝试保存到其他文件。”
我注意到这个错误是在我第一次启用自动保存后开始的 *。我不知道这是不是和云有关,Excel在保存时丢失。另外,测试保存到网络外的原始文件时,问题没有出现
我还没有在互联网上找到类似的东西,它从来没有发生过。
PS:我启用了自动保存的工作簿与那些给出错误的工作簿无关。那是一个简单得多的项目的没有宏的工作簿。

ccrfmcuu

ccrfmcuu1#

我能够找到导致问题的原因。我最初认为是VBA宏部分和“ActiveWorkbook.save“命令,但最终问题要深得多。
原来,在包含保存命令的同一个宏中,调用了另一个更新查询的函数。

进入PowerQuery Editor时,错误会停止,进入稍后会给予共用违规错误的试算表查询,并在步骤中移除提升信头的动作。

我不知道为什么会出现这个错误。但是我在其他几个地方尝试了其他几种方法(比如这个link1,或者这个link2,或者这个link3提示),唯一的解决方法就是上面的这个(我在任何地方都找不到)。
但是头的提升是必要的,所以为了继续而不出现问题,我需要进入高级编辑器,并将下面一行的第二个参数从“null”更改为“true”(这基本上是为了在查询阶段提升头)。

let
    Source = Excel.Workbook(File.Contents(FilePath), true, true),

有了这个,现在一切都很好。

相关问题