Ho una macro vba che apporta alcune modifiche al documento corrente e determina un nome file che dovrebbe essere usato per esso - se il documento non è salvato come quel nome file l'utente deve essere richiesto di farlo (ma dovrebbe essere in grado di modificare l'impostazione predefinita).Parola VBA - Finestra di dialogo Salva con nome file iniziale
Ho trovato due possibilità che entrambe non sono perfette (avrei bisogno di un mix di queste due).
Primo approccio:
Application.Dialogs(wdDialogFileSaveAs).Show
Apre la Save As
finestra di dialogo e consente di modificare il formato e il nome del file, ma il nome del file predefinito è il vecchio nome del file o il titolo (fino al primo carattere speciale come vuoto o -
) del documento (nel caso in cui non fosse ancora stato salvato - la modifica del titolo del documento è di scarso aiuto in quanto il nome file suggerito conterrà -
). È possibile modificare il nome file iniziale mostrato nella finestra di dialogo Save As
?
Secondo approccio:
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = filename
Dim choice As Integer
choice = Application.FileDialog(msoFileDialogSaveAs).Show
If choice <> 0 Then
filename = Application.FileDialog(msoFileDialogSaveAs).SelectedItems(1)
Call ActiveDocument.SaveAs(filename:=filename, FileFormat:=wdFormatDocumentDefault)
End If
Il FileDialog
sceglierà un nome solo, quindi dobbiamo salvarlo esplicitamente. Questo approccio mostrerà lo filename
, ma se l'utente modifica il suffisso ad es. .pdf
il file verrà comunque salvato nel formato .docx
(utilizzando il suffisso .pdf). Non avevo in programma di avere un'enorme distinzione di casi per il caso raro che l'utente abbia bisogno di un formato diverso da .docx
. C'è un modo semplice per salvare il file nel formato corretto utilizzando questo secondo approccio?
Hai dannatamente ragione, grazie – outofmind