VBA Save File Dialog, FileDialog(msoFileDialogSaveAs)
Pode haver momentos em que você precisa perguntar ao usuário selecionar um local para salvar um arquivo. Isso pode ser feito usando o diálogo salvar o arquivo . Tenha em mente que a salvar diálogos de arquivo na verdade não salvar nada . Ela apenas retorna o caminho completo que o usuário tenha selecionado para salvar o arquivo.
O método para criar o diálogo de salvar o arquivo explicado neste artigo usa o comando FileDialog ( msoFileDialogSaveAs ) . Tem um único problema . Você não pode aplicar filtros de tipo de arquivo . Se os filtros de tipo de arquivo são essenciais , existem duas coisas que você pode fazer :
Se você estiver usando VBA para Excel , você pode usar o método descrito no artigo, Excel VBA de diálogo Salvar arquivo , GetSaveAsFilename () Se você não estiver usando VBA para Excel você terá que usar a API do Windows , consulte MSDN, Microsoft exibição Abrir e Salvar como caixas de diálogo no Access com funções de API .
exemplo: Neste exemplo, uma caixa de diálogo se abrirá perguntando ao usuário para selecionar um local para salvar o arquivo . O caminho selecionado será exibido em uma caixa de mensagem :
Sub Example1()Dim intChoice As Integer Dim strPath As String
'make the file dialog visible to the user intChoice = Application.FileDialog(msoFileDialogSaveAs).Show'determine what choice the user made If intChoice <> 0 Then 'get the file path selected by the user
strPath = _
Application.FileDialog(msoFileDialogSaveAs).SelectedItems(1)
'displays the result in a message box
Call MsgBox(strPath, vbInformation, "Save Path")End If End Sub
Resultado:
Os detalhes a seguir foram selecionados para salvar o arquivo : Nome do arquivo: "Test" Caminho do arquivo : "D: Temp" Tipo de Arquivo : Livro do Excel (* .xlsx )
O caminho resultante é exibido em uma caixa de mensagem :
Título Custom:
Por padrão, o título da Save File Dialog é " Arquivo Salvar " :
Usando a propriedade .title você pode definir um título personalizado para o diálogo. No exemplo abaixo do título " Título aleatórios para Dialog" será usado:
Sub Example2()Dim intChoice As Integer
'change the display name of the save file dialog Application.FileDialog(msoFileDialogSaveAs).Title = _ "Random Title For Dialog"
'make the file dialog visible to the user intChoice = Application.FileDialog(msoFileDialogSaveAs).Show'determine what choice the user made If intChoice <> 0 Then 'your code here
End If End Sub
Resultado:
comentem pessoal. !!!!
quem precisar de serviços de programação pode me chamar no e-mail:
magnoalh1@gmail.com.