Olá pessoal,
Não estou conseguindo criar um diretório dentro da pasta Documentos no Windows 7. Alguém pode me ajuda?
Informo que o computador está em rede e qualquer usuário pode criar subpastas em sua própria pasta Documentos... Mas porque o VBA não consegue fazer isso para o usuário automáticamente.
===== CÓDIGO =====
Private Sub ButPDF_Click()
On Error Resume Next
DoCmd.SetWarnings False
Me.Requery
Dim strArquivo As String
Dim strLocal As String
'Dim strCOD2 As String
'Dim strArquivoCOD2 As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
'If fso.folderexists("D:\GEAPDATA Or D:\GEAPDATA\Arquivos") Then 'verifica se já existe a pasta
If fso.folderexists("D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos") Then ' verifica se já existe a pasta
'MsgBox "A pasta já existe!"
Else
'MkDir ("D:\GEAPDATA")
'MkDir ("D:\GEAPDATA\Arquivos")
MkDir ("D:\Users\" & Me.urede & "\Documentos\GEAPDATA")
MkDir ("D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos")
'MsgBox "Nova pasta criada!"
End If
strArquivo = Me.cboRel
'strUser = Me.urede
'strLocal = "D:\GEAPDATA\Arquivos\" & Me.boxData & "_" & Me.cboRel & ".pdf"
strLocal = "D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos\" & Me.boxData & "_" & Me.cboRel & ".pdf"
'Abre o relatório devidamente filtrado e oculto
DoCmd.OpenReport strArquivo, acViewPreview, , strArquivo, acHidden
'Gera arquivo pdf do relatório previamente aberto e filtrado.
DoCmd.OutputTo acOutputReport, strArquivo, acFormatPDF, strLocal
'Fecha o relatório
DoCmd.Close acReport, "strArquivo"
Dim Msg As String
Msg = MsgBox("Deseja abrir a pasta onde foi criado o arquivo PDF?" _
, vbYesNo, "Abrir pasta")
If Msg = vbNo Then
DoCmd.Close acForm, Me.Name
Exit Sub
End If
If Msg = vbYes Then
DoCmd.Close acForm, Me.Name
'Shell "explorer.exe D:\GEAPDATA\Arquivos", vbNormalFocus
Shell "explorer.exe D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos", vbNormalFocus
Exit Sub
End If
End Sub
================
Desde já agradeço... Luz e Paz!
Não estou conseguindo criar um diretório dentro da pasta Documentos no Windows 7. Alguém pode me ajuda?
Informo que o computador está em rede e qualquer usuário pode criar subpastas em sua própria pasta Documentos... Mas porque o VBA não consegue fazer isso para o usuário automáticamente.
===== CÓDIGO =====
Private Sub ButPDF_Click()
On Error Resume Next
DoCmd.SetWarnings False
Me.Requery
Dim strArquivo As String
Dim strLocal As String
'Dim strCOD2 As String
'Dim strArquivoCOD2 As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
'If fso.folderexists("D:\GEAPDATA Or D:\GEAPDATA\Arquivos") Then 'verifica se já existe a pasta
If fso.folderexists("D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos") Then ' verifica se já existe a pasta
'MsgBox "A pasta já existe!"
Else
'MkDir ("D:\GEAPDATA")
'MkDir ("D:\GEAPDATA\Arquivos")
MkDir ("D:\Users\" & Me.urede & "\Documentos\GEAPDATA")
MkDir ("D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos")
'MsgBox "Nova pasta criada!"
End If
strArquivo = Me.cboRel
'strUser = Me.urede
'strLocal = "D:\GEAPDATA\Arquivos\" & Me.boxData & "_" & Me.cboRel & ".pdf"
strLocal = "D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos\" & Me.boxData & "_" & Me.cboRel & ".pdf"
'Abre o relatório devidamente filtrado e oculto
DoCmd.OpenReport strArquivo, acViewPreview, , strArquivo, acHidden
'Gera arquivo pdf do relatório previamente aberto e filtrado.
DoCmd.OutputTo acOutputReport, strArquivo, acFormatPDF, strLocal
'Fecha o relatório
DoCmd.Close acReport, "strArquivo"
Dim Msg As String
Msg = MsgBox("Deseja abrir a pasta onde foi criado o arquivo PDF?" _
, vbYesNo, "Abrir pasta")
If Msg = vbNo Then
DoCmd.Close acForm, Me.Name
Exit Sub
End If
If Msg = vbYes Then
DoCmd.Close acForm, Me.Name
'Shell "explorer.exe D:\GEAPDATA\Arquivos", vbNormalFocus
Shell "explorer.exe D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos", vbNormalFocus
Exit Sub
End If
End Sub
================
Desde já agradeço... Luz e Paz!