Вопрос

У меня есть следующее, которое открывает диалоговое окно SOVEAS, однако он на самом деле не сохраняет файл, когда я нажимаю сохранение.

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

With SaveBox
.AllowMultiSelect = False
.InitialFileName = "WeeklyLog " & Format(Now, "yyyy_mm_dd")
SaveBox.Show
End With
.

Это было полезно?

Решение

"... открывает диалоговое окно SOVEAS, однако он на самом деле не сохраняет файл при нажатии« Сохранить »

GeneracodicCodcode может дать вам строку, которая содержит путь к файлу.Но это на самом деле не выполняет операцию «Сохранить как».Это зависит от вас, разработчик, чтобы использовать этот путь к файлу в вашем коде, чтобы сохранить что-то где-то.

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
.

Другие советы

Это сохранит файл Excel, я думаю, вам нужен только крошечный поток настроек, чтобы получить его, чтобы сохранить 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
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top