2016-11-14 3 views
-1

私は以下のForループを持っています。ご覧のとおり、特定のファイルが開いている場合は、そのファイルを閉じるようにしています。変更を保存せずにオブジェクトを閉じる

以下の設定でファイルを保存するかどうか尋ねられます。ファイルを保存せずにファイルを閉じるにはどうすればよいですか?

私は

Sub MacroExample() 
' Define local variables 
Dim objVisio 
Dim objDoc 
Dim blnVisioCreated 

' Initialize Vision application reference variable 
Set objVisio = Nothing 

' Assume Visio is already running, then try and get a reference to it 
blnVisioCreated = False 
On Error Resume Next 
Set objVisio = GetObject(, "Visio.Application") 
On Error GoTo 0 

' If Visio was not running already load it and remember that we created it 
If objVisio Is Nothing Then 
    Set objVisio = CreateObject("Visio.InvisibleApp") 
    blnVisioCreated = True 
End If 

' See if out drawing is already open, if so close it 
For Each objDoc In objVisio.Documents 
    If objDoc.Name = "Drawing1.vsd" Then 
    'objVisio.DisplayAlerts = False 
     objDoc.alertrespons = 0 
    objDoc.Close False 
    Exit For 
    End If 
Next 
+0

ベスト前にこのラインを使用しました。 –

+0

[ドキュメント](https://msdn.microsoft.com/en-us/library/office/ff767415.aspx)から: "AlertResponseプロパティを使用すると、警告が表示されないようにすることができます。" – Comintern

+0

@Comintern alertresponseは私に「オブジェクトはサポートしていません」というエラーを表示します。さらに、ドキュメントごとに、アラートを抑制する整数はありません。 (表示アラートはゼロです) – Dingo

答えて

0

「オブジェクトが返されませんでしたプロパティレッツ手続き定義されていないと、プロパティプロシージャをゲット」私は取得していますエラーがあるFalseDisplayAlertsを設定しようとしただけでなく、ObjDoc.close False

きたおかげですべて!

は、私はあなたが記述するエラーを見て、それをトリガする行を示すときに使用している正確なコードを表示するように枠線

objVisio.AlertResponse = vbNo 
objDoc.Close 
関連する問題