Notifications
Clear all

Salvando arquivo em PDF e salvando o caminho

4 Posts
2 Usuários
0 Reactions
783 Visualizações
(@heitor88)
Posts: 3
New Member
Topic starter
 

Olá colegas,
Sou novo aqui e gostaria de saber se alguém consegue me ajudar no seguinte dilema.

Criei uma pequena rotina no excel onde é criado um arquivo da planilha em pdf, e salva no C:temp, gostaria de alem de salvar o arquivo, guardasse o caminho do arquivo salvo, para na próxima rotina já existente, utilizasse os arquivo para enviar como anexo.
Porem na rotina de salvar o caminho, não esta sendo útil, pois serão 10 anexos possíveis, e logo na primeira rotina, todos 10 campos são preenchido com o primeiro arquivo gerado, impossibilitando salvar os próximos.
Acredito ser um problema simples, mas infelizmente não consegui entender o erro.
Se alguém puder contribuir. Desde já agradeço. Segue o macro.

'Rotina que gera o arquivo em pdf
    Sheets("Termo de Quitação").Select 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="C:temp" & "Termo Quitação - " & Range("C10") & " - " & Range("k3") & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False 

'rotina para salvar o caminho do arquivo anterior gerado
caminho = "C:temp" & "Termo Quitação - " & Range("C10") & " - " & Range("k3") & ".pdf"
If Range("I17").Value = "" Then
    Range("I17").Value = caminho
    End If
    If Range("I17").Value <> "" And Range("I18").Value = "" Then
    Range("I18").Value = caminho
    End If
    If Range("I18").Value <> "" And Range("I19").Value = "" Then
    Range("I19").Value = caminho
    End If
    If Range("I19").Value <> "" And Range("I20").Value = "" Then
    Range("I20").Value = caminho
    End If
    If Range("I20").Value <> "" And Range("I21").Value = "" Then
    Range("I21").Value = caminho
    End If
    If Range("I21").Value <> "" And Range("I22").Value = "" Then
    Range("I22").Value = caminho
    End If
    If Range("I22").Value <> "" And Range("I23").Value = "" Then
    Range("I23").Value = caminho
    End If
    If Range("I23").Value <> "" And Range("I24").Value = "" Then
    Range("I24").Value = caminho
    End If
    If Range("I24").Value <> "" And Range("I25").Value = "" Then
    Range("I25").Value = caminho
    End If
    If Range("I25").Value <> "" And Range("I26").Value = "" Then
    Range("I26").Value = caminho
    End If
    
End Sub
 
Postado : 03/06/2018 2:37 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Heitor,

Boa noite!

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.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 03/06/2018 2:48 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Heitor88,

Boa Noite!

Peço, por gentileza, ler atentamente as orientações acima postadas para você.

Quanto a sua demanda, não testei, mas creio que o código abaixo resolve o problema. Troque a rotina que salva o caminho por ele e teste.

    'rotina para salvar o caminho do arquivo anterior gerado
    Dim i As Long
    
    caminho = "C:temp" & "Termo Quitação - " & Range("C10") & " - " & Range("k3") & ".pdf"
    
    For i = 17 To 26
        If Range("I" & i).Value = "" Then
            Range("I" & i).Value = caminho
            Exit For
        End If
    Next

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 03/06/2018 3:06 pm
(@heitor88)
Posts: 3
New Member
Topic starter
 

Wagner obrigado pela orientação.

O código foi perfeito para minha necessidade. Muito obrigado mesmo.
Abraço.

 
Postado : 03/06/2018 7:39 pm