VBA: Evitare Finestra di Saltavaggio per premere "invio"

di Anonimizzato24095 il
4 risposte
Ciao a tutti,
la domanda forse è scritta male, mi spiego meglio:

Io ho una Macro che con il ciclo For mi salva un'area di selezione in un percorso prestabilito.
Il problema arriva adesso: io vorrei evitare che si debba aprire la finestra di salvataggio per dover premere ogni volta il tasto "invio".
E' possibile questa cosa?
Grazie

Sub SalvaPDFReportConCiclo()

    Dim ws As Worksheet
    Dim strIndirizzo As String
    Dim myFile As Variant
    Dim strFile As String
    Dim nome As String
    Dim i As Integer
    Dim selezione As Range
    Dim percorso As String
        
    On Error GoTo errHandler
     
    Set ws = Worksheets("Report")
    Set selezione = ws.Range("A1:R225")
     
    percorso = Worksheets("Tabelle dati").Range("C12").Value

 For i = 3 To 541 Step 1
     
    Worksheets("Tabelle dati").Range("C8") = Worksheets("Elenco Aziende").Range("B" & i)

    Worksheets("Tabelle dati").Select
    nome = Range("C1").Value & " " & "-" & " " & Range("C8").Value     
     
    'apre la finestra di dialogo per il salvataggio dei file
    'la cartella di default è la stessa della cartella di excel
    strFile = Replace(nome, " ", " ") _
           '  & "_" _
           ' & Format(Now(), "yyyy-mm-dd_hh-mm") _
            & ".pdf"
    strFile = percorso & strFile
     
    myFile = Application.GetSaveAsFilename _
            (InitialFileName:=strFile, _
              FileFilter:="PDF Files (*.pdf), *.pdf", _
              Title:="Seleziona la cartella e inserisci il nome del file da salvare")
     
    If myFile <> False Then
            selezione.ExportAsFixedFormat _
              Type:=xlTypePDF, _
              Filename:=myFile, _
              Quality:=xlQualityStandard, _
              IncludeDocProperties:=True, _
              IgnorePrintAreas:=True, _
              OpenAfterPublish:=False
     
    End If

Next i

exitHandler:
            Exit Sub
errHandler:
            MsgBox "Non ho potuto salvare il file PDF"
    Resume exitHandler
    
End Sub

4 Risposte

  • Che vuoi dire? Hai scritto tu la linea con

    GetSaveAsFilename

    ?

    Se non devi scegliere il file, non usare quella linea e imposta il file nella variabile.
  • Visto che non sono tanto esperto di VBA non saprei cos'altro mettere al posto di quelle riga.
    Già è un miracolo che sia riuscito a crearla ahah!
  • Se l'hai creata tu è perché hai capito a cosa serve. Piuttosto hai fatto copia-incolla.

    Devi eliminarla, togli anche la if e assegna il nome del file di destinazione direttamente nella ExportAsFixedFormat usando

    Filename:="D:\cartella\nomefile",
  • Non so se mi ha inviato il messaggio, lo rinvio:

    Mi hanno aiutato, ma per buona parte sono stato io a crearla
    Non è che potresti farmi vedere esattamente le modifiche nel codice? Così la capisco bene

    Grazie
Devi accedere o registrarti per scrivere nel forum
4 risposte