Ir para conteúdo
Fórum Script Brasil
  • 0

Como Salvar uma panilha pelo caminho informado em uma textBox


Paulo Sev

Pergunta

Como eu faço um macro que salva uma planilha do Excel de acordo com o caminho informado em uma célula. Exemplo:

Em A1 coloco C:\Documents and Settings\Paulo\Meus documentos Ai quando executar o macro ele salva para mim com um nome fixo "Hora (" & Format(Time(), "hh-mm") & ")" & ";Data (" & Format(Date, "dd-mm-yy") & ")" & ".xls", mas com o caminho que coloquei na célula A1.

Ou até em um form, eu inserir em uma textbox o caminho e ele salvar de acordo com o caminho informado. De fato é esta opção que quero, e ainda (não quero ser chato), ter um FolderBrowserDialog que coloque o caminho que desejo salvar no text box. Desde Já agradeço.

:rolleyes:

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

pela celula consegui:

Private Sub test()
Application.EnableEvents = False
ActiveWorkbook.SaveAs Range("c2").Value & "Hora (" & Format(Time(), "hh-mm") & ")" & ";Data (" & Format(Date, "dd-mm-yy") & ")" & ".xls"
Cancel = True
Application.EnableEvents = True
End Sub
agora quero pelo form e com FolderBrowserDialog :rolleyes: :rolleyes: pelo form:
Sub test()
Application.EnableEvents = False
ActiveWorkbook.SaveAs TextBox1.Value & "Hora (" & Format(Time(), "hh-mm") & ")" & ";Data (" & Format(Date, "dd-mm-yy") & ")" & ".xls"
Cancel = True
Application.EnableEvents = True
End Sub

Agora falta a FolderBrowserDialog

Link para o comentário
Compartilhar em outros sites

  • 0

tem varios metodos. o primeiro q ele passa la é com a api.

primero você declara a funcao:

Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Const BIF_DONTGOBELOWDOMAIN As Long = &H2
Private Const BIF_RETURNFSANCESTORS As Long = &H8
Private Const BIF_BROWSEFORCOMPUTER As Long = &H1000
Private Const BIF_BROWSEFORPRINTER As Long = &H2000
Private Const BIF_BROWSEINCLUDEFILES As Long = &H4000
Private Const MAX_PATH As Long = 260

Type BrowseInfo
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszINSTRUCTIONS As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type

Type SHFILEOPSTRUCT
    hwnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAnyOperationsAborted As Boolean
    hNameMappings As Long
    lpszProgressTitle As String
End Type

Declare Function SHGetPathFromIDListA Lib "shell32.dll" ( _
    ByVal pidl As Long, _
    ByVal pszBuffer As String) As Long

Declare Function SHBrowseForFolderA Lib "shell32.dll" ( _
    lpBrowseInfo As BrowseInfo) As Long


Function BrowseFolder(Optional Caption As String = "") As String

Dim BrowseInfo As BrowseInfo
Dim FolderName As String
Dim ID As Long
Dim Res As Long

With BrowseInfo
   .hOwner = 0
   .pidlRoot = 0
   .pszDisplayName = String$(MAX_PATH, vbNullChar)
   .lpszINSTRUCTIONS = Caption
   .ulFlags = BIF_RETURNONLYFSDIRS
   .lpfn = 0
End With

FolderName = String$(MAX_PATH, vbNullChar)
ID = SHBrowseForFolderA(BrowseInfo)
If ID Then
   Res = SHGetPathFromIDListA(ID, FolderName)
   If Res Then
       BrowseFolder = Left$(FolderName, InStr(FolderName,vbNullChar) - 1)
   End If
End If

End Function[/code] você poe esse codigo la em cima na janela de codigos do seu formulario. se você quiser q esse codigo possa ser chamado de varios formularios, você poe ele num module. mas ai você tem q declarar tudo como publico (você escreve Public na frente de Type, Declare Function e Function e tb troca Private Const por Public Const). depois você usava esse codigo pra por no text box:
[code]Dim FName As String
FName = BrowseFolder(Caption:="Select A Folder")
If FName = vbNullString Then
    MsgBox "Não selecionou nenhuma pasta"
Else
    TextBox1.Text = FName
End If

Link para o comentário
Compartilhar em outros sites

  • 0

Como que eu faço para aparecer a "\" pois qunado seleciono somente um diretorio ( ex: C:) ele retorna C:\ . Porem quando é uma pasta ele retorna C:\Documents and Settings\projeto\My Documents\Corel User Files , sem a "\" no final, o que da erro a hora de salvar,pois ele salva em My Documents e não em Corel User Files.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...