Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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/7/neo4j/3.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 保存后,将在“我的文档”中创建Excel加载项的副本_Vba_Excel_Ms Office_Ole - Fatal编程技术网

Vba 保存后,将在“我的文档”中创建Excel加载项的副本

Vba 保存后,将在“我的文档”中创建Excel加载项的副本,vba,excel,ms-office,ole,Vba,Excel,Ms Office,Ole,我有一个应用程序(在IBMNotes中运行,使用Lotusscript等),它通过OLE自动化创建一个新的Excel对象。在我的应用程序中,我创建了一个新工作簿,并将其保存到一个临时文件夹中(我将其保存为Excel工作表w/o macros->type 52),以便恢复文件如下所示: tmp_abc1234.xlsx 然后我以编程方式在Excel中打开该文件。我有一个Excel加载项(文件名为“Teamoffice.xlam”),在某些宏所在的位置加载,我将在自定义保存操作栏按钮中触发该加载项

我有一个应用程序(在IBMNotes中运行,使用Lotusscript等),它通过OLE自动化创建一个新的Excel对象。在我的应用程序中,我创建了一个新工作簿,并将其保存到一个临时文件夹中(我将其保存为Excel工作表w/o macros->type 52),以便恢复文件如下所示:

tmp_abc1234.xlsx
然后我以编程方式在Excel中打开该文件。我有一个Excel加载项(文件名为“Teamoffice.xlam”),在某些宏所在的位置加载,我将在自定义保存操作栏按钮中触发该加载项。在此保存方法中,我还调用保存函数:

Call ActiveWorkbook.Save
Call ThisWorkbook.Save
出于某种原因,Excel在“我的文档”文件夹中创建了一个名为“Teamoffice.xlsm”的文件。该文件本身无法在Excel中打开(“错误的文件格式错误”)-当然,它是一个加载项

如果我的应用程序中只打开了一个Excel文档,那么这种方法很有效。如果我打开了第二个(或更多)文档,我就会遇到麻烦:每次我保存打开的(或新创建的)辅助文档时,Excel都会问我是否要覆盖该“Teamoffice.xlsm”文件

我在ma宏中添加了VBA代码,用于检测此文件是否存在并尝试将其删除。当然没有运气,因为Excel的第一个实例已经锁定了该文件。不过,在询问Excel问题对话框时覆盖该文件是可行的,但我不希望出现该问题

Excel在独立使用时(不含OLE)的行为与此不同

由此产生的几个问题:

  • 为什么Excel创建此文件?我可以阻止它这样做吗
  • 即使Excel有句柄,我如何删除该文件
  • 我可以告诉Excel不要处理这个文件(如果有)并让我杀死它吗
  • 我是否可以取消显示问题对话框并始终说“是,覆盖它”
  • Office版本是2010年-它让我发疯…所以提前谢谢! p、 s:我不是VBA专业人士,所以请尽可能详细地说明:-)

    我注意到了

    ThisWorkbook.Save
    

    这就是原因。如果省略它,则不会创建任何文件。奇怪的是,这将加载项文件保存为xlsm文件。

    乍一看,所有问题都来自代码。我建议重新检查代码。或者,如果你想获得有价值的反馈,请指定你完成工作所使用的代码。你指的是什么代码?创建OLE对象的过程是什么?