- 09 Out 2019 às 09:33
#49039
Oi galera,
Esto com a seguinte dificuldade:
Ao clicar em um botão, preciso gerar um PDF de algumas planilhas da minha pasta de trabalho. Só que, caso alguma das planilhas que deveriam ser geradas, não possua dados, então esta planilha não deve ser gerada junto no PDF.
São quatro planilhas no total, a planilha "Apresentação Início" sempre estará presente, mas as outras três podem estar presentes ou não.
O fator determinante, deve ser um número presente na planilha "Apresentação Início", exe: Se na célula F10 estiver 0, então a planilha "APRESENTAÇÃO_EMPRESAS" não será inclusa no PDF. Mas como incluir essa condicional no código abaixo?
Segue código:
Sub GerarPDF_Apresentacao()
Call FILTRO_APRESENTACAO_TRAB
Call FILTRO_APRESENTACAO_EMP
Call FILTRO_APRESENTACAO_SIND
Dim FileNome As String
NomeFic = InputBox("Digite o nome do arquivo: ")
If NomeFic = "" Then Exit Sub
strDir = Application.ActiveWorkbook.Path & "\"
FileNome = strDir & NomeFic
On Error GoTo ERRO
If Dir(strDir, vbDirectory) = "" Then
MkDir strDir
Sheets(Array("APRESENTAÇÃO_INÍCIO", "APRESENTAÇÃO_TRABALHADORES", "APRESENTAÇÃO_EMPRESAS", "APRESENTAÇÃO_SINDICATOS")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=FileNome, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
MsgBox "Foi criado o documento: " + vbCrLf & FileNome
Else
Sheets(Array("APRESENTAÇÃO_INÍCIO", "APRESENTAÇÃO_TRABALHADORES", "APRESENTAÇÃO_EMPRESAS", "APRESENTAÇÃO_SINDICATOS")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=FileNome, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
MsgBox "Foi criado o documento: " & FileNome
End If
Sheets("APRESENTAÇÃO_INÍCIO").Select
Exit Sub
ERRO:
MsgBox "Ocorreu um erro, o arquivo não foi criado, verifique se o arquivo não está aberto"
End Sub
Esto com a seguinte dificuldade:
Ao clicar em um botão, preciso gerar um PDF de algumas planilhas da minha pasta de trabalho. Só que, caso alguma das planilhas que deveriam ser geradas, não possua dados, então esta planilha não deve ser gerada junto no PDF.
São quatro planilhas no total, a planilha "Apresentação Início" sempre estará presente, mas as outras três podem estar presentes ou não.
O fator determinante, deve ser um número presente na planilha "Apresentação Início", exe: Se na célula F10 estiver 0, então a planilha "APRESENTAÇÃO_EMPRESAS" não será inclusa no PDF. Mas como incluir essa condicional no código abaixo?
Segue código:
Sub GerarPDF_Apresentacao()
Call FILTRO_APRESENTACAO_TRAB
Call FILTRO_APRESENTACAO_EMP
Call FILTRO_APRESENTACAO_SIND
Dim FileNome As String
NomeFic = InputBox("Digite o nome do arquivo: ")
If NomeFic = "" Then Exit Sub
strDir = Application.ActiveWorkbook.Path & "\"
FileNome = strDir & NomeFic
On Error GoTo ERRO
If Dir(strDir, vbDirectory) = "" Then
MkDir strDir
Sheets(Array("APRESENTAÇÃO_INÍCIO", "APRESENTAÇÃO_TRABALHADORES", "APRESENTAÇÃO_EMPRESAS", "APRESENTAÇÃO_SINDICATOS")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=FileNome, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
MsgBox "Foi criado o documento: " + vbCrLf & FileNome
Else
Sheets(Array("APRESENTAÇÃO_INÍCIO", "APRESENTAÇÃO_TRABALHADORES", "APRESENTAÇÃO_EMPRESAS", "APRESENTAÇÃO_SINDICATOS")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=FileNome, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
MsgBox "Foi criado o documento: " & FileNome
End If
Sheets("APRESENTAÇÃO_INÍCIO").Select
Exit Sub
ERRO:
MsgBox "Ocorreu um erro, o arquivo não foi criado, verifique se o arquivo não está aberto"
End Sub