MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA

    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA Empty [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA

    Mensagem  Access365 30/6/2014, 17:01

    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!
    daniloreiis
    daniloreiis
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 338
    Registrado : 14/02/2011

    [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA Empty Criar diretório em Documentos do Windows 7 através do VBA

    Mensagem  daniloreiis 30/6/2014, 20:16

    Boa tarde!

    testei seu código aqui e deu certo, porém fiz o teste na minha maquina local e mudei seu codigo colocando o caminho do diretorio na mão assim:

    seu codigo:

    Código:
    If fso.folderexists("D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos") Then ' verifica se já existe a pasta
    Else
    MkDir ("D:\Users\" & Me.urede & "\Documentos\GEAPDATA")
    MkDir ("D:\Users\" & Me.urede & "\Documentos\GEAPDATA\Arquivos")

    meu codigo:

    Código:
    If fso.folderexists("C:\Users\Danilo\Desktop\GEAPDATA\Arquivos") Then ' verifica se já existe a pasta
    Else
    MkDir ("C:\Users\Danilo\Desktop\GEAPDATA")
    MkDir ("C:\Users\Danilo\Desktop\GEAPDATA\Arquivos")
    End If


    verifica se esta correto o nome do usuario nessa varivel "Me.urede" se preferir troque isso por isto: Environ("USERNAME")

    testei aqui e deu certo também

    Código:
    If fso.folderexists("C:\Users\" & Environ("USERNAME") & "\Desktop\GEAPDATA\Arquivos") Then ' verifica se já existe a pasta
    'MsgBox "A pasta já existe!"
    Else
    'MkDir ("D:\GEAPDATA")
    'MkDir ("D:\GEAPDATA\Arquivos")
    MkDir ("C:\Users\" & Environ("USERNAME") & "\Desktop\GEAPDATA")
    MkDir ("C:\Users\" & Environ("USERNAME") & "\Desktop\GEAPDATA\Arquivos")
    'MsgBox "Nova pasta criada!"
    End If


    bom e isso ai!


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------

    Se alguém não quiser trabalhar, não coma também.
    2 Tessalonicenses 3:10
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA Empty Re: [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA

    Mensagem  Access365 30/6/2014, 20:51

    Obrigado daniloreiis, por me mostrar: " & Environ("USERNAME") & ", isso faz abrir a pasta automaticamente...
    O problema era que "Documentos" estava em ingles "Documents"

    ===== CÓDIGO COMPLETO =====
    Private Sub ButPDF_Click()
    On Error Resume Next
    DoCmd.SetWarnings False
    Me.Requery
    Dim blRet As Boolean
    Dim strArquivoCOD2 As String
    Dim strCOD2 As String
    Dim strPrintEtq As String
    Dim strUser As String
    Dim strData As String
    If IsNull(cboRel) Then
    Beep
    Call MsgBox("É necessário escolher um catálogo.", vbOKOnly, "Conversão para arquivo PDF")
    Exit Sub
    End If
    If (cboRel = 2 And IsNull(cboRel)) Then
    Beep
    MsgBox "Para criar um arquivo PDF, é necessário escolher um catálogo." _
    , vbOKOnly, "Conversão para arquivo PDF"
    Exit Sub
    End If

    strCOD2 = Me.cboRel
    strUser = Me.urede
    strData = Me.boxData

    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.folderexists("D:\Users\" & Me.urede & "\Documents\GEAPDATA Or D:\Users\" & Me.urede & "\Documents\GEAPDATA\Arquivos") Then
    Else
    MkDir "D:\Users\" & Me.urede & "\Documents\GEAPDATA"
    MkDir "D:\Users\" & Me.urede & "\Documents\GEAPDATA\Arquivos"
    End If
    strArquivoCOD2 = "D:\Users\" & Me.urede & "\Documents\GEAPDATA\Arquivos\" & Me.boxData & "_" & Me.cboRel & ".pdf"
    blRet = ConvertReportToPDF(strCOD2, vbNullString, strArquivoCOD2, False, False, 150, "", "", 0, 1, 0)
    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:\Users\" & Environ("USERNAME") & "\Documents\GEAPDATA\Arquivos", vbNormalFocus
    Exit Sub
    End If
    End Sub
    ============================

    No system.zip está: Módulo escrito dentro do TXT (copie o conteúdo e cole num módulo com o mesmo nome) a DLL é para fazer funcionar.

    NO MÓDULO, mude a linha onde está: hLibDynaPDF = "X:\Informática\GEAPDATA\system\DynaPDF.dll"
    para: hLibDynaPDF = "Caminho onde está a sua DLL\DynaPDF.dll"

    Obrigado, Luz e Paz!
    Anexos
    [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA Attachmentsystem.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.1 Mb) Baixado 33 vez(es)
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA Empty Re: [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA

    Mensagem  Access365 2/8/2020, 18:41

    Resolvidíssimo!

    Conteúdo patrocinado


    [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA Empty Re: [Resolvido]Criar diretório em Documentos do Windows 7 através do VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/12/2024, 09:43