Close document without saving

Hi,

 

I wrote a vba code to save all drawing in a specific folder to dwg in another folder.

The problem is that sometimes when it close the document it ask me if I want to save, stopping the process.

Is there a possibility to close the document without saving so i can start the vba and don't have to stare the screen waiting for messages?

 

Also, right now i'm closing all document. How can i close only files .slddrw or just the selected document?

 

Option Explicit
Dim swApp               As SldWorks.SldWorks
Dim swModel             As SldWorks.ModelDoc2
Dim swMat               As SldWorks.ModelDocExtension
Dim swCustPropMgr       As SldWorks.CustomPropertyManager
Dim swDocSpecification  As SldWorks.DocumentSpecification
Dim swDoc               As ModelDoc2
Dim swEquationMgr       As SldWorks.EquationMgr
Dim longEquation        As Long
'**************************************************************
Dim FILES               As Variant
Dim fileerror           As Long
Dim filewarning         As Long
'**************************************************************
Dim Part                As ModelDoc2
Dim boolstatus          As Boolean
Dim longstatus          As Long, longwarnings As Long
Dim Response            As Long
'**************************************************************
Dim componentsArray(0)  As String
Dim components          As Variant
Dim name                As String
Dim errors              As Long
Dim warnings            As Long
'**************************************************************
Dim FILENAME            As String
Dim FNAME               As String
Dim EXTENSION           As String
'**************************************************************
Dim swErrors            As Long
Dim swWarnings          As Long
Dim swErrorsPRT         As Long
Dim swWarningsPRT       As Long
'**************************************************************
Dim PATH                As String
Dim ACTIVEPATH          As String
Dim NEWPATHDOC          As String
Dim NEWPATH             As String
'**************************************************************
Dim FOLDER              As Variant
'**************************************************************

Sub main()

'RICORDA IL TEMPO IN CUI LA MACRO SI AVVIA
Dim StartTime       As Double
Dim MinutesElapsed  As String

  StartTime = Timer

'INPUT DIRECTORY *********************************************************************************************
    FOLDER = InputBox("Inserire directory di lavoro:", _
                   "DIRECTORY") + "\"
                
'INPUT ESECUZIONE MACRO*************************************************************************************************
        Response = MsgBox("Sicuro di voler lanciare la macro?", vbYesNo)
        If Response = vbNo Then
             MsgBox "Macro annullata!"
             Exit Sub
        End If

'CHECK DIRECTORY "ESPORTATI" *********************************************************************************
    PATH = FOLDER
            
            'FILENAME = Replace(Dir(PATH), Right(PATH, 7), "")
            ACTIVEPATH = Left(PATH, InStrRev(PATH, "\"))
            NEWPATHDOC = ACTIVEPATH + "ESPORTATI"                 'Aggiunta directory DOC
            
        'CHECK E CREAZIONE DIRECTORY "ESPORTATI"
            If Dir(NEWPATHDOC, vbDirectory) = "" Then
                'Se non esiste la directory, creala
                MkDir NEWPATHDOC
            End If
            
    PATH = ""
    
'INIZIO CICLO PROPRIETA'*************************************************************************************************
    FILENAME = Dir(FOLDER)
    While FILENAME <> "" '--------------------------------------------------------------------------------------esempio: xxxxx_prova_R01.SLDDRW
    
    'INTESTAZIONE/ESTENSIONE NOME FILE
     FNAME = Replace(FILENAME, ".slddrw", "", , , vbTextCompare) '-----------------------------------------------esempio: xxxxx_prova_R01
     EXTENSION = UCase(Right(FILENAME, 6)) '---------------------------------------------------------------------esempio: SLDDRW

'FILETYPE = swDocPART

    'ESCLUSIONE COMPONENTI "STD/COMM"
        If EXTENSION <> "SLDDRW" Then
        GoTo PROSSIMO
        Else: GoTo CONTINUA
        End If

CONTINUA:

'APERTURA******************************************************************************************************************
      
    Set swApp = Application.SldWorks
    
    swApp.OpenDoc6 FOLDER & FILENAME, swDocDRAWING, 1, "", fileerror, filewarning
        
    Set Part = swApp.ActiveDoc
    
'ESPORTA FILES DWG***************************************************************************************************

    'CAMBIO ESTENSIONE IN ".DWG"
        PATH = NEWPATHDOC + "\" + FNAME + ".DWG"
    'SALVA FILE ".DWG"
        longstatus = Part.SaveAs3(PATH, 0, swSaveAsOptions_Silent)

        'CHIUDI TUTTO
        boolstatus = swApp.CloseAllDocuments(True)

PROSSIMO:

        'PASSAGGIO A FILE SUCCESSIVO
        FILENAME = Dir

Wend

   
FINEMACRO:

    'CALCOLO TEMPO NECESSARIO PER ESEGUIRE IL CODICE
    MinutesElapsed = Format((Timer - StartTime) / 86400, "hh:mm:ss")

    'MESSAGGIO CONCLUSIVO
    MsgBox "Tavole 2D esportate!" & vbNewLine & _
    "(processo eseguito in " & MinutesElapsed & " (hh:mm:ss))!", vbInformation
    
  
End Sub