Boa tarde Galera.
Como antes foi resolvido o codigo (abaixo), na imagem anexada mostra o erro que esta aparecendo quando executa o código, como pode ser resolvido?
Algume tem alguma ideia?
Sub Salvar_PDF()
ActiveWorkbook.Save
Plan19.Select
nome_arquivo = Range("a1").Value & " - " & _
Range("d20").Value & " - " & _
Range("e11").Value & " - " & _
Format(Range("d2").Value, "DD.MM.YYYY")
ChDir "P:EmbalagemPCPProgramação 2015IndustrializaçãoREMESSA 2016"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=nome_arquivo, Quality _
:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=1 = False
MsgBox "Remessa salva", vbInformation
End Sub
Verifique se o PDF está aberto e feche-o !
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Fechei todos os PDF, mas aconteceu o mesmo erro...
nome_arquivo = Range("a1").Value & " - " & _
Range("d20").Value & " - " & _
Range("e11").Value & " - " & _
Format(Range("d2").Value, "DD.MM.YYYY") & ".pdf"
Corrija esse pedaço:
OpenAfterPublish:=1 = False
Para:
OpenAfterPublish:= False
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Continua o mesmo erro...
Da parte que esta em amarelo, apague tudo que esta em nome_arquivo.
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
Bom dia galera.
Estava verificando o erro do cogido, e constatei o seguinte:
O nome do arquivo que é salvo em PDF fica desta forma:
REMESSA E COBRANÇA - PASQUINI - 60000 - 20.2.16
Mas quando a palavra apos a REMESSA E COBRANÇA tem por exemplo: 2078/AMIDO PASQUINI da erro no momentO que o codigo é executado para salvar em PDF, como faço para corrigir esse código? Mesmo na palavra estiver / ou : ou ; é possível corrigi-lo ou adicionar um Format?
Sub Salvar_PDF()
ActiveWorkbook.Save
Plan19.Select
nome_arquivo = Range("a1").Value & " - " & _
Range("d20").Value & " - " & _
Range("e11").Value & " - " & _
Format(Range("d2").Value, "DD.MM.YYYY") & ".pdf"
ChDir "P:EmbalagemPCPProgramação 2015IndustrializaçãoREMESSA 2016"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=nome_arquivo, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
MsgBox "Remessa salva", vbInformation
End Sub
a palavra 2078/AMIDO PASQUINI é um sub diretório ?? se for a barra está invertida!!!!
a palavra 2078/AMIDO PASQUINI é um sub diretório ?? se for a barra está invertida!!!!
A palavra 2078/AMIDO PASQUINI não é sub...
A palavra 2078/AMIDO PASQUINI faz parte do TITULO DO PDF
Quando o codigo é "disparado" da erro por causa da barra que consta no titulo para salvar o PDF, exemplo:
Quando tenho um titulo dessa forma: REMESSA E COBRANÇA - AMIDO PASQUINI - 60000 - 26.2.16 , nã da erro
Mas quando esta dessa forma: REMESSA E COBRANÇA - 2078/AMIDO PASQUINI - 60000 - 26.2.16 , da erro no codigo por causa da barra que consta o tiltulo para salvar o PDF.
È esse erro que não consigo corrigir...
Existem alguns caracteres proibidos pelo sistema operacional ( / : * ? < > | ) assim ao montar uma string para nome de arquivo deve-se ter o cuidado de substituir esses caracteres; pois se houver o sistema operacional irá rejeitar gerando assim o erro.
Substitua na fonte, caso não for possível avalie utilizar o Replace antes de tentar salvar.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Essa é EXATAMENTE a razão pq eu queria ver o conteúdo da variável no outro tópico.
Pedi exemplos desse nome de arquivo...
Seu problema não é só as barras das datas, tb pode haver barras em outros locais !
E digo mais, se houver dois-pontos, barras, ou qquer coisa que não seja aceita em nome de arquivo, vai dar pau....
a rotina que vc precisa é essa:
'--------------------------------------------------------------------------------------- ' Rotina....: ArrumarNomeParaArquivo() / Function ' Autor.....: Fernando Fernandes ' Contato...: fernando.fernandes@outlook.com.br ' Data......: 02/04/2015 (dmy) ' Empresa...: Planilhando ' Descrição.: Essa rotina corrige um texto para poder ser usado como nome de uma planilha *(ou arquivo) '--------------------------------------------------------------------------------------- Public Function ArrumarNomeParaArquivo(ByVal NOME As String) As String On Error GoTo TratarErro NOME = VBA.Replace(NOME, "", ".") NOME = VBA.Replace(NOME, "/", ".") NOME = VBA.Replace(NOME, ":", ".") NOME = VBA.Replace(NOME, "*", ".") NOME = VBA.Replace(NOME, "?", ".") ArrumarNomeParaArquivo= NOME On Error GoTo 0 Exit Function TratarErro: Resume Next ' Call Excecoes.TratarErro(VBA.Err.Description, VBA.Err.Number, "Exportar.ArrumarNomeParaPlanilha()", Erl) End Function
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Cole o código acima *(minha function) no final do seu módulo...
E no seu código, faça assim:
Sub Salvar_PDF() ActiveWorkbook.Save Plan19.Select nome_arquivo = Range("a1").Value & " - " & _ Range("d20").Value & " - " & _ Range("e11").Value & " - " & _ Format(Range("d2").Value, "DD.MM.YYYY") & ".pdf" nome_arquivo = ArrumarNomeParaArquivo(nome_arquivo ) ChDir "P:EmbalagemPCPProgramação 2015IndustrializaçãoREMESSA 2016" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=nome_arquivo, _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False MsgBox "Remessa salva", vbInformation End Sub
ou seja, adicione essa linha:
nome_arquivo = ArrumarNomeParaArquivo(nome_arquivo )
Logo após a definição da variável !
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Perfeito, ficou showww...
Obrigado...