Página 1 de 1

Gravar planilha desktop

Enviado: 09 Fev 2016 às 18:57
por WLOPES
Estou desenvolvendo uma macro para gravar uma plan no desktop, só que eu queria generalizar.
Tem alguma função ou comando no vba que me diga o desktop do usuário para que eu possa usar em uma variável para indicar o caminho onde a plan vai ser gravada?
Abs.

Re: GRAVAR PLANILHA NO DESKOPT.

Enviado: 10 Fev 2016 às 16:54
por daniexcel
Código: Selecionar todos
Sub Save_File()

 vbSimNao = MsgBox("Tem certeza que deseja salvar o arquivo?", vbYesNo, "GURU DO EXCEL")
                'se resposta for sim, ele exclui, sai e desmarca
                If vbSimNao = 6 Then


    Sheets("MAIN").Select
    ActiveWindow.SelectedSheets.Visible = False

' salva o arquivo na pasta
On Error Resume Next
Dim Caminho As String 'declaracao da variável caminho
Caminho = "C:\Users\" & Environ$("username") & "\Desktop\"
ActiveWorkbook.SaveAs Filename:=Caminho & "arquivo.xls" ' digite o nome do arquivo

    
                    Else
' se sair, nao faz nada
                        Exit Sub
                End If
    
End Sub

GRAVAR PLANILHA NO DESKOPT.

Enviado: 10 Fev 2016 às 17:04
por daniexcel
veja se o codigo acima te atende

Re: GRAVAR PLANILHA NO DESKOPT.

Enviado: 11 Fev 2016 às 12:38
por WLOPES
- Dani, obrigado pela ajuda.
Pesquisei um pouco e cheguei a esta solução:
Obrigado pela ajuda.

Sub gravar_plan_no_desktop()
'
' gravar_plan_no_desktop Macro
'
Dim nameplan As String
Dim TempDesk, DeskPath As String 'variável que vai armazenar a Pasta Desktop do usuário
DeskPath = Environ("USERPROFILE")
TempDesk = DeskPath & "\Desktop\"
nameplan = Range("a1") + " liberada"
ActiveSheet.Select
ActiveSheet.Move
ActiveWorkbook.SaveAs Filename:=TempDesk + nameplan, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close

End Sub