COMMONDIALOG NAO ABRE DIRETORIO

PASCOAL 04/06/2010 06:21:53
#343848
NÃO ABRE O DIRETORIO CORRETO POR QUE ?

Private Sub Command2_Click()
Dim MyPathSave As String

MyPathSave = Caminho & [Ô]BOLETOS\ARQ_RETORNO[Ô]
On Error GoTo ErrTrap
CommonDialog2.InitDir = [Ô][Ô]
With CommonDialog2
[ô].Filter = [Ô]Arquivo *.*[Ô]
.FileName = MyName_Arq
.InitDir = MyPathSave
.DialogTitle = [Ô]Salvar em ![Ô]
.CancelError = True
.ShowSave
If .Flags = 0 Then
MsgBox [Ô]keine Datei ausgewählt,[Ô], vbInformation
Exit Sub
End If
lblSalvarem.Caption = .FileName
End With
Exit Sub
ErrTrap:

If Err.Number = 32755 Then [ô]cancel was selected
Exit Sub
Else
MsgBox [Ô]Fehlermeldungen [Ô] & Err.Number & [Ô] [Ô] & Err.Description
End If

OBRIGADO
WILLVIDAL 04/06/2010 08:03:38
#343851
Resposta escolhida
Pascoal, não entendimuito bem, vc quer só o diretório para salvar alguma coisa, certo ? se for isso, usa essa API que é melhor:

[ô]NO MÓDULO
Private Const WM_CLOSE = &H10
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOZORDER = &H4

Private Declare Function FindWindow Lib [Ô]user32[Ô] Alias [Ô]FindWindowA[Ô] (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Private Declare Function GetWindowsDirectory Lib [Ô]kernel32[Ô] Alias [Ô]GetWindowsDirectoryA[Ô] (ByVal lpBuffer As String, ByVal nsize As Long) As Long
Private Declare Function SetWindowPos Lib [Ô]user32[Ô] (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function GetDesktopWindow Lib [Ô]user32[Ô] () As Long
Private Declare Function LockWindowUpdate Lib [Ô]user32[Ô] (ByVal hwndLock As Long) As Long
Private Declare Function GetWindowRect Lib [Ô]user32[Ô] (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Sub Sleep Lib [Ô]kernel32[Ô] (ByVal dwMilliseconds As Long)
Private Declare Function SHBrowseForFolder Lib [Ô]Shell32.dll[Ô] (bBrowse As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib [Ô]Shell32.dll[Ô] (ByVal lItem As Long, ByVal sDir As String) As Long

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Type BrowseInfo
hWndOwner As Long
pidlRoot As Long
sDisplayName As String
sTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

[ô]Permite o usuario navegar por um Diretorio.
[ô]A função retorna o diretório selecionado.
[ô]Retorna uma string vazia se o usuario cancelar
Public Function BrowseForDirectory() As String
Dim browse_info As BrowseInfo
Dim item As Long
Dim dir_name As String

browse_info.hWndOwner = Form1.hwnd
browse_info.pidlRoot = 0
browse_info.sDisplayName = Space$(260)
browse_info.sTitle = [Ô]Selecione a pasta de origem para o arquivo de backup.[Ô] & Chr(13) & _
[Ô]Recomenda-se que seja feito e uma unidade externa ou pendrive.[Ô]
browse_info.ulFlags = 1 [ô] retorna o nome do diretório.
browse_info.lpfn = 0
browse_info.lParam = 0
browse_info.iImage = 0

item = SHBrowseForFolder(browse_info)
If item Then
dir_name = Space$(260)
If SHGetPathFromIDList(item, dir_name) Then
BrowseForDirectory = Left(dir_name, InStr(dir_name, Chr$(0)) - 1)
Else
BrowseForDirectory = [Ô][Ô]
End If
End If
End Function

[ô]NO FORM
Private Sub Command1_Click()
LBLSARVAREM.Caption = UCase(BrowseForDirectory)
End Sub
PASCOAL 04/06/2010 08:16:02
#343852
WILLVIDAL QUASE ISSO MAS PRECISO DEFINIR O DIRETORIO QUE SERÁ SALVO O ARQUIVO E JA COM O NOME QUE VEM DE OUTRO CommonDialog1 COMO FICARIA?
WILLVIDAL 04/06/2010 10:22:41
#343864
Faz isso q eu disse, mas coloca :

Private Sub Command1_Click()
dim caminho as string
dim arquivo as string

caminho = UCase(BrowseForDirectory)

if caminho<>[Ô][Ô] then
arquivo = nome_do_seu_arquivo
LBLSARVAREM.Caption = caminho & [Ô]\[Ô] & arquivo
end if
End Sub
PASCOAL 04/06/2010 20:32:07
#343934
NÃO é BEM ISSO , QUANDO ABRIR PARA SELECIONAR O LOCAR QUERIA Á ENVIAR O CAMINHO JA ABRINDO O DIRETORIO E JÁ COM O NOME DO ARQUIVO PARA FACILITAR PARA O USUÁRIO.

OBRIGADO
MARCELO.TREZE 05/06/2010 10:20:30
#343949
colega faça um teste veja o caminho está correto

MyPathSave = Caminho & [Ô]BOLETOS\ARQ_RETORNO[Ô]
[ô]coloque um msgbox pra ver qual o nome do caminho, ele pode estar errado
msgbox MyPathSave
PASCOAL 05/06/2010 10:33:15
#343954
Marcelo

Vc não entendeu, quero que ao abriir para a seleção de onde será salvo ja abra um diretorio pré informado e já o nome do arquivo, entendeu??

Obrigado
WILLVIDAL 05/06/2010 11:07:16
#343958
vê se é +ou- isso

Private Sub Command2_Click()
On Error GoTo ErrTrap

Dim MyPathSave As String
Dim MyName_Arq As String
MyPathSave = Caminho & [Ô]c:\BOLETOS\ARQ_RETORNO[Ô]
MyName_Arq = [Ô]boleto.txt[Ô]

CommonDialog2.InitDir = MyPathSave

With CommonDialog2
.Filter = [Ô]Arquivo *.txt[Ô]
.FileName = MyName_Arq
.InitDir = MyPathSave
.DialogTitle = [Ô]Salvar em ![Ô]
.CancelError = True
.ShowSave
If .Flags = 0 Then
MsgBox [Ô]keine Datei ausgewählt,[Ô], vbInformation
Exit Sub
End If
lblSalvarem.Caption = .FileName
End With

Exit Sub
ErrTrap:

If Err.Number = 32755 Then [ô]cancel was selected
Exit Sub
Else
MsgBox [Ô]Fehlermeldungen [Ô] & Err.Number & [Ô] [Ô] & Err.Description
End If


lembrando que vc deve informar o caminho inteiro da pasta MyPathSave
e que essa pasta deve existir, se não não vira nada
Tópico encerrado , respostas não são mais permitidas