Question

J'ai le texte suivant qui ouvre la boîte de Dialogue enregistrer sous boîte, mais ce n'est pas vraiment de l'enregistrement du fichier, quand je clique sur enregistrer.

Dim SaveBox As Object
Set SaveBox = Application.FileDialog(msoFileDialogSaveAs)

With SaveBox
.AllowMultiSelect = False
.InitialFileName = "WeeklyLog " & Format(Now, "yyyy_mm_dd")
SaveBox.Show
End With
Était-ce utile?

La solution

"...ouvre la boîte de Dialogue enregistrer sous boîte, mais ce n'est pas vraiment de l'enregistrement du fichier, quand je clique sur enregistrer"

FileDialog pouvez vous donner une chaîne de caractères qui contient un chemin d'accès au fichier.Mais il ne fait pas d'effectuer une opération "Enregistrer sous".C'est à vous, le développeur, pour utiliser ce chemin de fichier dans votre code pour enregistrer quelque chose quelque part.

Dim SaveBox As Object
Dim strFilePath As String

Set SaveBox = Application.FileDialog(2) ' msoFileDialogSaveAs
With SaveBox
    .InitialFileName = "WeeklyLog " & Format(Date, "yyyy_mm_dd")
    If .Show = True Then
        strFilePath = .SelectedItems(1)
    End If
End With

' now do something with strFilePath ...
If Len(strFilePath) > 0 Then
    MsgBox "File path: " & strFilePath
Else
    MsgBox "Selection cancelled."
End If

Autres conseils

Cela permettra d'enregistrer un fichier Excel, je pense que vous n'avez besoin que d'un minuscule un peu de peaufine pour l'obtenir pour enregistrer un PDF:

Sub GetFileName()
    Dim fd As FileDialog
    Dim fname As String

    Do
        Set fd = Application.FileDialog(msoFileDialogSaveAs)
        With fd
            .AllowMultiSelect = False
            .InitialFileName = "New To Do.xls"
            If .Show = -1 Then fname = .SelectedItems(1)

            If fname = fd.InitialFileName Then _
                MsgBox "Please enter a new filename", vbOKOnly, "Filename Needed!"
        End With
    Loop Until fname <> fd.InitialFileName

    If IsEmpty(fname) Or fname = vbNullString Then Exit Sub
    ThisWorkbook.SaveAs fname

End Sub

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top