Vba 关闭文件而不保存

Vba 关闭文件而不保存,vba,visio,Vba,Visio,我有一个可以打开文件的代码块 Dim AppVisio Set AppVisio = CreateObject("visio.InvisibleApp") Dim vsoDoc Set vsoDoc = AppVisio.Documents.Open("PathName\Drawing1.vsd") 但是,当此文件已打开时,我希望它自动关闭而不保存更改 我找不到这样的代码 AppVisio.Documents.Close ("PathName\

我有一个可以打开文件的代码块

Dim AppVisio
Set AppVisio = CreateObject("visio.InvisibleApp")
Dim vsoDoc
Set vsoDoc = AppVisio.Documents.Open("PathName\Drawing1.vsd")
但是,当此文件已打开时,我希望它自动关闭而不保存更改

我找不到这样的代码

AppVisio.Documents.Close ("PathName\Drawing1.vsd")

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

您要查找的方法是文档对象的一部分(不是文档)

您要查找的方法是文档对象的一部分(不是文档)

您已将其声明为隐式
变体
-这将是等效的:

Dim vsoDoc As Variant
如果在
setvsodoc=
语句之后立即放置断点,请转到立即窗格(Ctrl+G)并键入

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

Dim vsoDoc As Document
然后,当您想关闭此
vsoDoc
时,可以使用该对象并调用其
close
方法:

Set vsoDoc = AppVisio.Documents.Open("PathName\Drawing1.vsd")
'do stuff...
vsoDoc.Close
vsoDoc
变量是您的文档对象。将其声明为文档将提供IntelliSense/AutoComplete,因此当您在
vsoDoc.
中键入点时,您将在编辑器中看到一个下拉列表,显示文档的所有成员

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

您已将其声明为隐式
变体
-这将是等效的:

Dim vsoDoc As Variant
如果在
setvsodoc=
语句之后立即放置断点,请转到立即窗格(Ctrl+G)并键入

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

Dim vsoDoc As Document
然后,当您想关闭此
vsoDoc
时,可以使用该对象并调用其
close
方法:

Set vsoDoc = AppVisio.Documents.Open("PathName\Drawing1.vsd")
'do stuff...
vsoDoc.Close
vsoDoc
变量是您的文档对象。将其声明为文档将提供IntelliSense/AutoComplete,因此当您在
vsoDoc.
中键入点时,您将在编辑器中看到一个下拉列表,显示文档的所有成员


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

是的,但是您建议如何关闭一个不可见的文档。MSDN上的文档建议关闭活动文档。您建议如何关闭上述文件?是否仍有“捕获”窗口的方法?(假设其已打开并强制关闭)使用“错误时继续下一步”?感谢所有人的帮助!是的,但您建议如何关闭一个不可见的文档。MSDN上的文档建议关闭活动文档。您建议如何关闭上述文件?是否仍有“捕获”窗口的方法?(假设其已打开并强制关闭)使用“错误时继续下一步”?感谢所有人的帮助!