Condividi:        

Sintassi vba excel "salva come"

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Sintassi vba excel "salva come"

Postdi antonio.lanciano » 25/05/23 13:39

Buon giorno

su una macro VBA di Excel utilizzata per salvare un file .dat selezionando i dati presenti all'interno di un dato range presenta la seguente sintassi:

UR = Range("A" & Rows.Count).End(xlUp).Row
Perc = "C:\Users\lanciano\Desktop\"
Open Perc & Range("M2").Value & "file001.dat" For Output As #1
For RR = 1 To UR
If Len(Range("A" & RR).Value) > 0 Then
Print #1, Range("A" & RR).Value
End If

In tal caso la macro procede a salvare automaticamente il file sul mio desktop.
Ma se volessi far si che la macro mi richieda dove salvarlo aprendo automaticamente il pop up di "salva come" o "salva con nome" scrivendo però già il nome del file (in tal caso file001.datI) qualcuno potrebbe gentilmente dirmi come dovrei modificare la macro?

Ringrazio in anticipo.
antonio.lanciano
Newbie
 
Post: 7
Iscritto il: 17/12/22 17:49

Sponsor
 

Re: Sintassi vba excel "salva come"

Postdi Anthony47 » 25/05/23 18:33

Il percorso e il nome glielo hai dato con l'istruzione
Codice: Seleziona tutto
Open Perc & Range("M2").Value & "file001.dat" For Output As #1


Potresti usare Application.FileDialog per scegliere il percorso e impostare il nome del file; tipo
Codice: Seleziona tutto
UR = Range("A" & Rows.Count).End(xlUp).Row
    'Scelta del Percorso e del Nome file
    With Application.FileDialog(msoFileDialogSaveAs)
                .Title = "Scegli Percorso e Nome file"
                .InitialFileName = "C:\PROVA\"                   '<<< La directory di partenza
                .AllowMultiSelect = False
                .FilterIndex = 12
       .Show
        If .SelectedItems.Count = 0 Then
            MsgBox ("Nessuna voce selezionata, processo abortito")
            Exit Sub
        End If
        PnName = .SelectedItems(1)
    End With
Open Replace(PnName, ".txt", ".dat", , , vbTextCompare) For Output As #1
'
For RR = 1 To UR
    If Len(Range("A" & RR).Value) > 0 Then
        Print #1, Range("A" & RR).Value
    End If
Next RR
Close #1

Nota che questo metodo non mi consente di scegliere l'estensione ".dat"; pertanto l'impostazione sara' apparentemente ".txt" ma poi nella Open sostituiamo .txt con .dat. Spero non crei confusione nell'utente

Prova...
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Sintassi vba excel "salva come"

Postdi antonio.lanciano » 26/05/23 09:57

Ciao Antony e grazie mille per la tua gentilissima risposta.

La macro rivista con la tua struttura funziona senza dare debug.

Ti confermo che in effetti anche se all'apertura della selezione nome e percorso, indica "salva come testo" alla fine il salvataggio del file è sempre .dat. Ovviamente devo scegliere come chiamare il file.

Ti ringrazio nuovamente.
antonio.lanciano
Newbie
 
Post: 7
Iscritto il: 17/12/22 17:49


Torna a Applicazioni Office Windows


Topic correlati a "Sintassi vba excel "salva come"":


Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti