删除另一个Excel或Word文件而不通过excel vba关闭它

时间:2018-09-07 10:28:37

标签: excel vba excel-vba

我想删除通过VBA打开的word / excel / ppt应用程序,而不关闭该应用程序。这是我现在尝试运行的代码,但是它不会删除文件,而是转到错误处理程序。

✔ ~/src/linux $ git --no-pager log --pretty=oneline --reverse ./include/media/v4l2-clk.h
ff5430de70e8137daccecfa1211509f95fcc8d25 [media] V4L2: add temporary clock helpers
cf326dfebe612bf56c83d8fca7a7c1d1584c061f [media] V4L2: add v4l2-clock helpers to register and unregister a fixed-rate clock
774cc4c289152bfb77806ccae722a9ae2d29dd02 [media] V4L2: add a v4l2-clk helper macro to produce an I2C device ID
a37462b919e1368ea3cf4bb0cbdb00ca8e76959c [media] V4L: remove clock name from v4l2_clk API
4f528afcfbcac540c8690b41307cac5c22088ff1 [media] V4L: add CCF support to the v4l2_clk API
ac2841f3b80170415b63ae5ca8ea417f65244604 [media] v4l2-clk: add new macro for v4l2_clk_name_of()
3d83078a081a2bac7639d09404d85085368c8b66 [media] v4l2-clk: add new definition: V4L2_CLK_NAME_SIZE
68d9c47b1679ec8d55a005d39fc7a958ece82095 media: Convert to using %pOF instead of full_name

✔  ~/src/linux $ git describe ff5430de70e8137daccecfa1211509f95fcc8d25
v3.10-rc6-391-gff5430d

2 个答案:

答案 0 :(得分:0)

在这种情况下,您的解决方案是不发送命令来关闭工作簿。相反,您可以将工作簿的“已保存”状态设置为true,这将绕过有关关闭未保存的书的任何消息。注意:这不会保存工作簿;它只是使它看起来像已保存。

ThisWorkbook.Saved = True 然后,紧接着

Application.Quit

答案 1 :(得分:0)

首先复制要删除的文档,然后关闭原始文档,然后删除原始文档。 我想这就是您想要的,除了您创建的文档没有正确的名称,并且您不能更改它的名称而不将其保存为正确的名称。 您可以在某种程度上使它看起来像具有application.Caption的正确名称,然后将Application.DocumentBeforeSave和DocumentBeforeSave子项插入到单词的文档对象中。 (此处介绍了如何执行此操作:https://social.msdn.microsoft.com/Forums/Lync/en-US/0c3db3d4-5876-40f0-a88c-d4c0ba69e755/how-can-i-dynamically-define-subfunction-at-runtime-in-vba?forum=officegeneral

复制的对象将在复制后变为活动状态,因此      设置copyed_document = wordap.activedocument 应该有助于在运行时安全地处理新创建的文件。