CHIUDERE FILE



  • CHIUDERE FILE
    di FA-BA (utente non iscritto) data: 09/04/2017 08:47:00

    SONO RIUSCITO a scrivere l'istruzione per aprire il file Excel che deve aprire ma vorrei che il file precedentemente aperto venga chiuso.

    Spiego meglio sono in un file Excel da questo apro l'altro che mi serve QUINDI il vecchio non mi serve e voglio che venga chiuso (senza chiedere di salvare ) deve essere chiuso e basta non deve salvare ... altrimenti ho 2 file quello nuovo caricato e il precedente utilizzato come lanciatore.

    Appena aperto il file il vecchio che ha questa istruzione deve venir chiuso. (senza salvare)!
     
    Sub Carica_File()
      indirizzo = ActiveWorkbook.Path
        Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"
    '  ""  _Istruzione per chiudere il file_  ""
    End Sub



  • di patel data: 09/04/2017 12:41:21

    prova così 
     
    Sub Carica_File()
      set wb1 = ActiveWorkbook
      indirizzo = wb1.Path
        Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"
    '  ""  _Istruzione per chiudere il file_  ""
      Wb1.Close False
    End Sub






  • di Zer0Kelvin data: 09/04/2017 13:03:46

    Sarebbe più corretto usare ThisWorkbook...



  • di FA-BA (utente non iscritto) data: 09/04/2017 13:59:30

    Il file rimane aperto non lo chiude! (non da errori ma non lo chiude).



  • di FA-BA (utente non iscritto) data: 09/04/2017 14:01:32

    Ovviamente ho provato anche in questo modo!!!
     
    Sub Carica_File()
      set wb1 = ActiveWorkbook
      indirizzo = wb1.Path
        Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"
    '  ""  _Istruzione per chiudere il file_  ""
      Wb1.Close False
    End Sub



  • di FA-BA (utente non iscritto) data: 09/04/2017 14:02:15

    Intendevo true!!!
     
    Sub Carica_File()
      set wb1 = ActiveWorkbook
      indirizzo = wb1.Path
        Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"
    '  ""  _Istruzione per chiudere il file_  ""
      Wb1.Close true
    End Sub



  • di patel data: 09/04/2017 16:35:58

    a me funziona, hai dimendicato una
     
        Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"






  • di FA-BA (utente non iscritto) data: 10/04/2017 13:36:03

    Oggi ci riprovo spero di riuscirci.



  • di FA-BA (utente non iscritto) data: 11/04/2017 17:07:32

    Questo è ciò che ho scritto nel file ma compare il messaggio di ( salva non salare annulla) di Excel.
    Sicuri che è questo il metodo....!?
     
    Sub Carica_File()
      Set Wb1 = ThisWorkbook
      indirizzo = Wb1.Path
        Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"
    '  ""  _Istruzione per chiudere il file_  ""
      Wb1.Close False
    End Sub



  • di FA-BA (utente non iscritto) data: 11/04/2017 17:11:50

    SU INTERNET ho trovato queste istruzioni ora provo ad applicarle

     
    Application.DisplayAlerts = False
    Workbooks("BOOK1.XLS").Close
    Application.DisplayAlerts = True



  • di FA-BA (utente non iscritto) data: 11/04/2017 17:21:45

    Non ci riesco vi chiedo aiuto !



  • di patel data: 11/04/2017 17:28:36

    prova così
     
    Sub Carica_File()
      Set Wb1 = ThisWorkbook
      indirizzo = Wb1.Path
      Application.DisplayAlerts = False
      Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"
      Wb1.Close False
    End Sub






  • di FA-BA (utente non iscritto) data: 11/04/2017 18:24:20

    IL PROBLEMA non è nel messaggio l'ho risolto con

    i problemi ora sono 2

    1° Non scrive "CFS"
    2° Il file resta aperto

    il resto è giusto

     
    Sub Carica_File()
    Sheets("TURNO").Range("G17") = "CFS" ' CARICA FILE SALVATO.
    indirizzo = ActiveWorkbook.Path
    Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"
    Application.Quit
    End Sub



  • di patel data: 11/04/2017 19:04:10

    ma tu vai proprio a caso ... dove vuoi scrivere CFS ? lo vuoi scrivere prima di aprire il file ?





  • di FA-BA (utente non iscritto) data: 11/04/2017 19:10:29

    SI...


    Non lo scrive ma se lo avvio manualmente ovvero vado su macro poi seleziono "carica file" avvio la macro e funziona.

    Ma deve funzionare immediatamente no la seconda volta.



  • di FA-BA (utente non iscritto) data: 11/04/2017 19:18:48

    c'era il collegamento ipertestuale che apriva non era la macro (veniva scavalcata) ok ora rincomincio da capo tutte le prove erano non valide...

    Se non riesco chiedo come al solito .... aspetta!



  • di FA-BA (utente non iscritto) data: 11/04/2017 19:34:54

    ora ti spiego il CFS era la mia ultima arma ha disposizione , siccome non funzionava facevo scrivere cfs e alla macro Auto_Close la facevo leggere tramite if sheets e il resto per farla chiudere alla auto_close ma ora è risolto era il collegamento che tempo fa misi e non ricordavo ...


    Ora ripeto funziona apre il nuovo e chiude il (vecchio usato per lanciare) ma il nuovo mi si apre in chiusura come se l'istruzione chiudi si applichi anche al nuovo.


    Dovrei togliere un indirizzo ma quale ... oppure devo cambiargli nome indirizzo e indirizzo1

    Che mi suggerisci? ... come mai il file aperto si apre ""chiuso"" ??

    dimmi tutto
     
    Sub Carica_File()
    Set wb1 = ActiveWorkbook
    indirizzo = wb1.Path
    indirizzo = ActiveWorkbook.Path
    Workbooks.Open Filename:=indirizzo & "Copia di LA BATTAGLIA DEI POTENTI.xlsm"
    wb1.Close False
    End Sub
    



  • di FA-BA (utente non iscritto) data: 11/04/2017 22:09:32

    MA SE IL FILE NON ESISTE? come può aprirlo come si fa ha fargli cercare il file e se non lo trova mi va in (goto) che mandero in "end sub"



  • di FA_BA (utente non iscritto) data: 12/04/2017 17:24:30

    Ho capito perché apre il file chiuso.... ho notato che non attiva la macro.... del file che apre.
    Già tempo fa chiesi se si potevano attivare le macro e mi è stato detto no ( GIUSTAMENTE) quindi come si può far aprire un file con macro attive ( ??? ).

    Allora in precedenza non funzionavano le istruzioni di apertura e chiusura perché con tutto che avevo impostato di avviare la macro "Carica_File" vinceva il collegamento ipertestuale che in precedenza avevo attivato.

    Allego anche le macro utilizzate anche se di difficile lettura ....

    L'unico difetto è che non abilita la macro e quindi lo apre nello stesso modo della chiusura del file lanciatore.
     
    Declare Function sndPlaySound32 Lib "WINMM.DLL" Alias "sndPlaySoundA" _
    (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    Sub Carica_File()
    Set wb1 = ActiveWorkbook
    indirizzo = wb1.Path
    If Dir(indirizzo & "LA BATTAGLIA DEI POTENTI (SALVATAGGIO).XLSM") = "" Then GoTo 0
    Workbooks.Open Filename:=indirizzo & "LA BATTAGLIA DEI POTENTI (SALVATAGGIO).XLSM"
    wb1.Close False
    0:
    Call sndPlaySound32(indirizzo & "Suonimenu-errore.WAV", 0)
    MsgBox "Nessuna partita trovata !"
    Call sndPlaySound32(indirizzo & "Musiche120C_003.wav", 9)
    End Sub
    
    ////// Macro separate distinte una dall'altra /////
    
    Declare Function sndPlaySound32 Lib "WINMM.DLL" Alias "sndPlaySoundA" _
    (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    Sub Auto_close()
    'Se partita finita voci alternative L1,L2,L3 /ALTRIMENTI->L0
    If Sheets("GIOCO").Range("S34") = "Hai vinto complimenti !" Then GoTo L1 Else If Sheets("GIOCO").Range("S34") = "Hai perso!" Then GoTo L2 Else If Sheets("GIOCO").Range("S34") = "" Then GoTo L3 Else GoTo L0
    'Uscita_Vittoria -> voci
    L1:
     indirizzo = ActiveWorkbook.Path
      Call sndPlaySound32(indirizzo & "MusichePV.WAV", 0)
    Application.DisplayFullScreen = True
    N = Sheets("TURNO").Range("L1")
    fname = indirizzo & "Voci(PC)Uscita_Vittoria" & N & ".wav"
    Call sndPlaySound32(fname, 0)
       MsgBox "FINE!!"
    Sheets("NOTE").WindowsMediaPlayer1.URL = ""
       Sheets("NOTE").WindowsMediaPlayer0.URL = ""
    ActiveWindow.DisplayGridlines = True       '<=== mostra la griglia
    GoTo LES
    'Uscita_Sconfitta -> voci
    L2:
     indirizzo = ActiveWorkbook.Path
      Call sndPlaySound32(indirizzo & "MusichePS.WAV", 0)
    Application.DisplayFullScreen = True
    N = Sheets("TURNO").Range("L2")
    fname = indirizzo & "Voci(PC)Uscita_Sconfitta" & N & ".wav"
    Call sndPlaySound32(fname, 0)
       MsgBox "FINE!!"
    Sheets("NOTE").WindowsMediaPlayer1.URL = ""
       Sheets("NOTE").WindowsMediaPlayer0.URL = ""
    ActiveWindow.DisplayGridlines = True       '<=== mostra la griglia
    GoTo LES
    'Uscita_Pareggio -> voci
    L3:
     indirizzo = ActiveWorkbook.Path
      Call sndPlaySound32(indirizzo & "MusichePP.WAV", 0)
    Application.DisplayFullScreen = True
    N = Sheets("TURNO").Range("L3")
    fname = indirizzo & "Voci(PC)Uscita_Pareggio" & N & ".wav"
    Call sndPlaySound32(fname, 0)
       MsgBox "FINE!!"
    Sheets("NOTE").WindowsMediaPlayer1.URL = ""
       Sheets("NOTE").WindowsMediaPlayer0.URL = ""
    ActiveWindow.DisplayGridlines = True       '<=== mostra la griglia
    GoTo LES
    'VISUALIZZO A TUTTO SCHERMO -------------------------------------------------------- *** NORMALE ***
    L0:
    Application.DisplayFullScreen = True
     indirizzo = ActiveWorkbook.Path
    N = Sheets("GIOCO").Range("AG70")
    fname = indirizzo & "Voci(PC)USCITA" & N & ".wav"
    Call sndPlaySound32(fname, 0)
    ActiveWindow.DisplayGridlines = True       '<=== mostra la griglia
       Sheets("NOTE").WindowsMediaPlayer0.URL = ""
       If Sheets("TURNO").Range("J9") = "SI" Then GoTo L4 Else If Sheets("TURNO").Range("J9") = "NO" Then GoTo L5 '-> chiusura di Carica_File
    L4:
    ActiveWorkbook.Close False
       GoTo LES
    L5:
    Set wb1 = ActiveWorkbook
    wb1.Close False
       GoTo LES
    '..........................................
    LES:
    'RENDO VISIBILI I FOGLI.
    Sheets("OBBIETTIVI").Visible = True
    Sheets("GIOCO").Visible = True
    Sheets("LIBRO_DELLE_MAGIE").Visible = True
    Sheets("CHIUDI").Visible = True
    Sheets("MENU").Visible = True
    'seleziono fogli e nascondo intestazioni
     Sheets("OBBIETTIVI").Select
       ActiveWindow.DisplayHeadings = False
     Sheets("GIOCO").Select
       ActiveWindow.DisplayHeadings = False
     Sheets("LIBRO_DELLE_MAGIE").Select
       ActiveWindow.DisplayHeadings = False
     Sheets("CHIUDI").Select
       ActiveWindow.DisplayHeadings = False
     Sheets("MENU").Select
       ActiveWindow.DisplayHeadings = False
       Sheets("OBBIETTIVI").Visible = True
       'NASCONDO I FOGLI
    Sheets("OBBIETTIVI").Visible = False
    Sheets("GIOCO").Visible = False
    Sheets("LIBRO_DELLE_MAGIE").Visible = False
    Sheets("MENU").Visible = False
    End Sub
    



  • di FA-BA (utente non iscritto) data: 13/04/2017 14:41:00

    fin qui grazie Patel sei mitico.... per il resto studio ad una soluzione comunque lascio aperta la discussione.