Notifications
Clear all

Erro ao criar pasta e salvar PDF dentro

5 Posts
3 Usuários
0 Reactions
933 Visualizações
(@nerho)
Posts: 0
New Member
Topic starter
 

Boa tarde,
Criei uma macro com pedaços de código que fui pegando na net, e funcionou (bem, nem tanto) a macro cria uma pasta em F: Folha ponto que seria com o mês (2018-06-nome do func.), tudo bem ela cria a pasta, mas na hora de salvar os arquivos dentro da mesma salva em "meus documentos"
Segue parte da macro o meio foi suprimido já que está

funcionando.]
[code]
Sub Imprime()
'
' Imprime Macro
'

'Dim strPath As String, strFold As String
    strPath = "F:Folhas Ponto"
strFold = VBA.Trim(ActiveSheet.Range("L2").Value)
    If Dir(strPath & strFold, vbDirectory) = "" Then
        MkDir (strPath & strFold)
    End If
    Rows("5:18").Select ‘Func1 selecionado
    Selection.EntireRow.Hidden = True
    ChDir "F:Folhas Ponto" & (ActiveSheet.Range("L2").Value) & ""
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("L3"), Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    Rows("3:18").Select 'oculta todas as linhas
    Selection.EntireRow.Hidden = True
    Rows("5:6").Select 'seleciona Func2p imprimir
    Selection.EntireRow.Hidden = False
        ChDir "F:Folhas Ponto" & (ActiveSheet.Range("L2").Value) & ""
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("L5"), Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    
    Rows("3:4").Select 'Retorna ao Func1
    Selection.EntireRow.Hidden = False
        Range("A3:F3").Select
        
End Sub
[/code]
Provavelmente o erro está nessa linha mas não sei ao certo>>  
[code]
ChDir "F:Folhas Ponto" & (ActiveSheet.Range("L2").Value) & ""

Se algém puder me ajudar,
Desde já agradeço!

 
Postado : 18/05/2018 1:27 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

nerho ,

Boa tarde!

Seja muito bem vindo ao fórum.

Para aproveitar ao máximo o fórum e sempre manter o mesmo de forma organizada, sugiro ler os tópico da regras abaixo:
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Algumas solicitações especiais que pedimos, por gentileza, ficar atento:
1 - Não inserir no titulo de suas postagens expressões como Help, Ajuda, etc. O título deve ser um resumo da sua necessidade para que outras pessoas que tenham a mesma dúvida possam efetuar a pesquisa e achar como foi resolvido.
2 - Não insira em suas mensagens frases todas escritas em letras maiúsculas. Isso, na Internet, é compreendido como gritos e muitos usuários sequer respondem somente por esse fato!
3 - Insira sempre um arquivo exemplo compactado com .ZIP aqui mesmo no fórum. Existe, logo abaixo da caixa de mensagens, uma aba chamada "Adicionar um anexo" para essa finalidade. O arquivo exemplo deve ser pequeno, com apenas 5 linhas no máximo, compactado com .ZIP e ter o mesmo layout (nome do arquivo, nome das abas/guias/folhas, mesma linha/coluna onde os dados se iniciam) do arquivo original. Links de arquivos enviados para sites de compartilhamento de arquivos, muitas vezes são bloqueados pelas empresas, por conterem muitos vírus. Alguns usuários que acessam o fórum a partir de empresas não conseguem baixar tais arquivos.
4 - Não utilize a ferramenta CITAR para inserir o inteiro teor das mensagens que lhe são encaminhadas como resposta. Citações, se estritamente necessárias ao entendimento da mensagem que você quer enviar, devem ser apenas de pequenos trechos das mensagens.
5 - Se for postar códigos VBA aqui no fórum, utilize a ferramenta CODE localizada logo no início da caixa de mensagens (quinto botão da esquerda para a direita). As linhas de código devem ficar entre as palavras "CODE e /CODE".
6 - Agradeça sempre às pessoas que lhe responderam e às mensagens que atenderam a necessidade de sua demanda. Esse agradecimento deve ser clicando na mãozinha que fica localizada ao lado da ferramenta CITAR. Lembre-se: o fórum é gratuito e esse é o único incentivo para as pessoas que prestam ajuda. Você pode agradecer a quantos usuários quiser.
7 - O título ou o texto das mensagens postadas não devem ser escritos todo em letras maiúsculas. Na internet, tudo escrito em letras maiúsculas é interpretado como gritos e muitos usuários sequer olham para esse tipo de mensagem.

 
Postado : 18/05/2018 2:47 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Do help do Excel para o Método ExportAsFixedFormat:

Filename Opcional Variant O nome do arquivo a ser salvo. Se você não incluir um caminho completo, o Excel salvará o arquivo na pasta atual

Experimente assim:

Sub Imprime()
'
' Imprime Macro
'

Dim strPath As String, strFold As String, sPath As String
    strPath = "F:Folhas Ponto"
strFold = VBA.Trim(ActiveSheet.Range("L2").Value)
    If Dir(strPath & strFold, vbDirectory) = "" Then
        MkDir (strPath & strFold)
    End If
If Right(strPath & strFold, 1) <> "" Then
    sPath = strPath & strFold & ""
Else
    sPath = strPath & strFold
End If
    Rows("5:18").Select 'Func1 selecionado
    Selection.EntireRow.Hidden = True
    ChDir "F:Folhas Ponto" & (ActiveSheet.Range("L2").Value) & ""
    
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Range("L3"), Quality:= _
                                xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                OpenAfterPublish:=False
Rows("3:18").Select 'oculta todas as linhas
Selection.EntireRow.Hidden = True
Rows("5:6").Select 'seleciona Func2p imprimir
Selection.EntireRow.Hidden = False
    ChDir "F:Folhas Ponto" & (ActiveSheet.Range("L2").Value) & ""
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Range("L5"), Quality:= _
                                xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                OpenAfterPublish:=False
    
Rows("3:4").Select 'Retorna ao Func1
Selection.EntireRow.Hidden = False
Range("A3:F3").Select
End Sub
 
Postado : 18/05/2018 3:22 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Reinaldo,

Você viu esse post? Tem como me ajudar?
viewtopic.php?f=10&t=28328#p141339

 
Postado : 18/05/2018 3:27 pm
(@nerho)
Posts: 0
New Member
Topic starter
 

Criei uma pasta folha ponte no "C" e troquei a função pra c: folha ponto e funcionou normal. Acho que deve ter alguma coisa pra não salvar em uma partição.

 
Postado : 20/05/2018 11:52 am