Salvando relatório de acesso
-
21-12-2019 - |
Pergunta
Eu tenho o seguinte que abre a caixa de diálogo SaveAs, mas na verdade não está salvando o arquivo quando clico em salvar.
Dim SaveBox As Object
Set SaveBox = Application.FileDialog(msoFileDialogSaveAs)
With SaveBox
.AllowMultiSelect = False
.InitialFileName = "WeeklyLog " & Format(Now, "yyyy_mm_dd")
SaveBox.Show
End With
Solução
"...abre a caixa de diálogo SaveAs, mas na verdade não está salvando o arquivo quando clico em salvar"
FileDialog
pode fornecer uma string que contém um caminho de arquivo.Mas na verdade ele não executa uma operação "Salvar como".Cabe a você, desenvolvedor, usar esse caminho de arquivo em seu código para salvar algo em algum lugar.
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
Outras dicas
Isso salvará um arquivo Excel, acho que você só precisa de alguns ajustes para que ele salve um 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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow