2015-10-06 29 views
5

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?

risposta

6

Hai provato sostituendo la line Call ActiveDocument.SaveAs con

Application.FileDialog(msoFileDialogSaveAs).Execute 
+0

Hai dannatamente ragione, grazie – outofmind

Problemi correlati