关闭文件而不保存

Closing file without saving

我有一个代码块(有效)来打开一个文件。

Dim AppVisio
Set AppVisio = CreateObject("visio.InvisibleApp")
Dim vsoDoc
Set vsoDoc = AppVisio.Documents.Open("PathName\Drawing1.vsd")

但是,当这个文件已经打开时,我希望它在不保存更改的情况下自动关闭。

我找不到像

这样的代码
AppVisio.Documents.Close ("PathName\Drawing1.vsd")

如果文件处于打开状态,是否还有其他强制关闭文件的选项?

您要查找的方法是 Document 对象(不是 Documents)的一部分 Click Here to see the Document Close Method

Dim vsoDoc

您已将其声明为 隐式 Variant - 这等同于:

Dim vsoDoc As Variant

如果您在 Set vsoDoc = 语句之后立即放置一个断点,请转到直接窗格 (Ctrl+G) 并键入

?TypeName(vsoDoc)

您会看到它将打印 Document。因此,您可以使用 Document 类型来声明它:

Dim vsoDoc As Document

然后当您想要关闭此 vsoDoc 时,您使用 that 对象并调用其 Close 方法:

Set vsoDoc = AppVisio.Documents.Open("PathName\Drawing1.vsd")
'do stuff...
vsoDoc.Close

vsoDoc 变量 您的文档对象。声明它 As Document 会给你 IntelliSense/AutoComplete 所以当你在 vsoDoc. 中输入点时,你会在编辑器中看到一个下拉列表,显示文档的所有成员。

如果您已经在使用 Visio,则无需后期绑定所有内容;您已经 引用了 Visio 对象模型。早期绑定可以更容易地了解涉及哪些类型以及它们的成员是什么。