Usuário com melhor resposta
Salvar o formulário do vba em pdf

Pergunta
-
Respostas
-
Lucas,
Conhecendo o seu problema um pouco mais de perto, percebi que o que você precisa é gerar um documento como resultado final. Por isso achei que a melhor opção seria chamar o Word em segundo plano para fazer o trabalho sujo. Segue o código:
Private Sub CommandButton1_Click() 'Chama um Objeto do Word Dim ObjWord As Object Set ObjWord = CreateObject("Word.Application") 'Mostra a caixa de salvar CaminhoPDF = Application.GetSaveAsFilename(FileFilter:="Documento PDF (*.pdf), *.pdf") 'checks to make sure the user hasn't canceled the dialog If CaminhoPDF <> False Then 'Deixa o Word invisível para o usuário não saber o que 'está sendo feito por trás ObjWord.Visible = True 'Cria um documento sem utilizar nenhum template ObjWord.Documents.Add "Normal", False, 0 'Monta o título do documento ObjWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter ObjWord.Selection.Font.Size = 22 ObjWord.Selection.Font.Bold = True ObjWord.Selection.TypeText Text:="PDF de Exemplo" ObjWord.Selection.TypeParagraph 'Cria um novo parágrafo ObjWord.Selection.Font.Size = 12 ObjWord.Selection.TypeParagraph 'Ajusta o tamanho da fonte, e alinha o texto a esquerda ObjWord.Selection.Font.Size = 12 ObjWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft 'Grava cada linha do User form com o título em negrito ObjWord.Selection.Font.Bold = True 'Título com negrito ObjWord.Selection.TypeText Label1.Caption + " - " ObjWord.Selection.Font.Bold = False 'Título com negrito ObjWord.Selection.TypeText TextBox1.Text ObjWord.Selection.TypeParagraph 'Repita o bloco acima para cada campo que você desejar gravar 'Gera o documento em PDF ObjWord.ActiveDocument.ExportAsFixedFormat CaminhoPDF, ExportFormat:= _ wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _ wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _ Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _ BitmapMissingFonts:=True, UseISO19005_1:=False ObjWord.ActiveDocument.Close False 'Fecha o word ObjWord.Quit End If End Sub
No trecho
'Grava cada linha do User form com o título em negrito
Substitua o label e o text pelos que você tem em seu formulário.
Boa sorte!
Bráulio Figueiredo
braulio@braulioti.com.br - http://www.braulioti.com.br
- Marcado como Resposta Lucas.85 segunda-feira, 18 de agosto de 2014 12:27
-
http://social.msdn.microsoft.com/Forums/getfile/511350
Boa tarde Jean Carlos!
Creio que desta forma serei mais objetivo.
No link acima printei a tela de minha calculadora e a idéia é a seguinte:
Após inserir os dados e mandar calcular, preciso salvar em pdf para não perder os dados anterior. Pois este formulário não está ligado a nenhuma planilha. É somente para cálculos.
Você pode me ajudar ?
Att; Lucas
- Marcado como Resposta Lucas.85 segunda-feira, 18 de agosto de 2014 12:27
Todas as Respostas
-
Eu tenho um artigo que fazia isso..
Faz download do arquivo e copia a função.
http://code.msdn.microsoft.com/Criando-um-Ribbon-para-fb64329bNão é tão especifico como o seu problema, mas tenho o código que salvar em PDF com os recursos nativos do Word.
Obs: Se você gostar atribua uma classificação com estrelas.Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Prezado Lucas,
É interessante saber como é este seu formulário. Podem existir soluções diferentes se você quer exibir os campos, se você tem um campo memo que quer gerar um PDF, se está vinculado com um outro objeto (por exemplo word) ou se você tem uma grid que está exibindo os valores. Print da tela ou a planilha para download são sempre bem-vindos.
Bráulio Figueiredo
braulio@braulioti.com.br - http://www.braulioti.com.br
-
Boa tarde Jean Carlos!
Obrigado pela ajuda.
Desculpe não ser claro pois estou iniciando na programação e comecei pelo VBA.
Minha dificuldade a seguinte.
Criei uma espécie de calculadora simples para calcular custo de produtos no VBA. Mais não está linkada a nenhuma planilha do excel, fiz nomente os códigos de cálculos pelo VBA.
A dúvida é a seguinte, queria quando executar minha calculadora, após preencher os dados e calcular, eu poderia salvar os dados em formato pdf. para guardar os dados preenchidos.
Você pode me ajudar?
Desde já muito obrigado.
Att; Lucas
-
http://social.msdn.microsoft.com/Forums/getfile/511350
Boa tarde Bráulio!
No link acima printei a tela de minha calculadora e a idéia é a seguinte:
Após inserir os dados e mandar calcular, preciso salvar em pdf para não perder os dados anterior. Pois este formulário não está ligado a nenhuma planilha. É somente para cálculos.
Você pode me ajudar ?
Att;
-
http://social.msdn.microsoft.com/Forums/getfile/511350
Boa tarde Jean Carlos!
Creio que desta forma serei mais objetivo.
No link acima printei a tela de minha calculadora e a idéia é a seguinte:
Após inserir os dados e mandar calcular, preciso salvar em pdf para não perder os dados anterior. Pois este formulário não está ligado a nenhuma planilha. É somente para cálculos.
Você pode me ajudar ?
Att; Lucas
- Marcado como Resposta Lucas.85 segunda-feira, 18 de agosto de 2014 12:27
-
-
Lucas,
Conhecendo o seu problema um pouco mais de perto, percebi que o que você precisa é gerar um documento como resultado final. Por isso achei que a melhor opção seria chamar o Word em segundo plano para fazer o trabalho sujo. Segue o código:
Private Sub CommandButton1_Click() 'Chama um Objeto do Word Dim ObjWord As Object Set ObjWord = CreateObject("Word.Application") 'Mostra a caixa de salvar CaminhoPDF = Application.GetSaveAsFilename(FileFilter:="Documento PDF (*.pdf), *.pdf") 'checks to make sure the user hasn't canceled the dialog If CaminhoPDF <> False Then 'Deixa o Word invisível para o usuário não saber o que 'está sendo feito por trás ObjWord.Visible = True 'Cria um documento sem utilizar nenhum template ObjWord.Documents.Add "Normal", False, 0 'Monta o título do documento ObjWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter ObjWord.Selection.Font.Size = 22 ObjWord.Selection.Font.Bold = True ObjWord.Selection.TypeText Text:="PDF de Exemplo" ObjWord.Selection.TypeParagraph 'Cria um novo parágrafo ObjWord.Selection.Font.Size = 12 ObjWord.Selection.TypeParagraph 'Ajusta o tamanho da fonte, e alinha o texto a esquerda ObjWord.Selection.Font.Size = 12 ObjWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft 'Grava cada linha do User form com o título em negrito ObjWord.Selection.Font.Bold = True 'Título com negrito ObjWord.Selection.TypeText Label1.Caption + " - " ObjWord.Selection.Font.Bold = False 'Título com negrito ObjWord.Selection.TypeText TextBox1.Text ObjWord.Selection.TypeParagraph 'Repita o bloco acima para cada campo que você desejar gravar 'Gera o documento em PDF ObjWord.ActiveDocument.ExportAsFixedFormat CaminhoPDF, ExportFormat:= _ wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _ wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _ Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _ BitmapMissingFonts:=True, UseISO19005_1:=False ObjWord.ActiveDocument.Close False 'Fecha o word ObjWord.Quit End If End Sub
No trecho
'Grava cada linha do User form com o título em negrito
Substitua o label e o text pelos que você tem em seu formulário.
Boa sorte!
Bráulio Figueiredo
braulio@braulioti.com.br - http://www.braulioti.com.br
- Marcado como Resposta Lucas.85 segunda-feira, 18 de agosto de 2014 12:27
-
-
-
-
-