Ir para conteúdo
Fórum Script Brasil
  • 0

Converter Para Pdf Com Vba


Fabriciovasco

Pergunta

Ola amigos, minha duvida é a seguinte:

Tenho um documento em Word, é uma proposta que eu fiz que ao clicar um uma ação ele salva o arquivo e adiciona o caminho em um outro programa nosso.

Olha o que eu preciso fazer no codigo vba ele esta salvando o conteudo em uma pasta automaticamente, salva como *.DOC eu preciso salva em PDF, vou postar o codigo se puderem me ajudar..

olha o código.

Public Sub ADCIONAR_AUTOMATICO_NO_AVANTI()

On Error Resume Next

Valor_Proposta = 0

Valor_Proposta = IIf(ActiveDocument.FormFields("Total12").Result = "", 0, ActiveDocument.FormFields("Total12").Result) * 12

UserForm1.Show

End Sub

Public Sub ADCIONAR_AUTOMATICO_NO_AVANTI1()

On Error Resume Next

'Valor_Proposta = CLng(ActiveDocument.FormFields("TOTAL12").Result)

Dim NUMERO_Proposta As Long

NUMERO_Proposta = CLng(ActiveDocument.FormFields("proposta").Result)

Dim Codigo_Cliente As Long

Codigo_Cliente = CLng(ActiveDocument.FormFields("codigocliente").Result)

Dim PRODUTO As Integer

PRODUTO = 9999

Dim DESCRICAO_PRODUTO As Variant

DESCRICAO_PRODUTO = "Proposta enviada para: " + ActiveDocument.FormFields("contato").Result + " _Ref. contrato de manutenção numero_ " + ActiveDocument.FormFields("proposta").Result + " _nos equipamentos_: " + ActiveDocument.FormFields("modelo").Result + "_com capacidade para_" + ActiveDocument.FormFields("capacidade").Result

Pessoa_logada

ActiveDocument.SaveAs "\\Server\VENDAS\PROPOSTAS\" + CStr(NUMERO_Proposta) + ".DOC", wdFormatDocument

Pessoa_logada

Dim conn As ADODB.Connection

Dim rst As ADODB.Recordset

Dim CodAcao As Long

Set conn = New ADODB.Connection

With conn

.ConnectionString = "Provider=MSDASQL.1;Extended Properties=DRIVER=SQL Server;SERVER=192.168.0.1;UID=sa;APP=AVANTI;WSID=3corp;DATABASE=avanti"

.Open "Provider=MSDASQL.1;Extended Properties=DRIVER=SQL Server;SERVER=192.168.0.1;UID=sa;APP=AVANTI;WSID=3corp;DATABASE=avanti"

End With

Set rst = New ADODB.Recordset

If CodEvento = 0 Then

With rst

.ActiveConnection = conn

.Open "Select * From Eventos order by evento", LockType:=adLockOptimistic

End With

rst.MoveFirst

Dim Last As Long

Do While Not rst.EOF

Last = rst.Fields("evento")

rst.MoveNext

Loop

CodEvento = Last + 1

rst.AddNew

Dim horasistema As Long

horasistema = (((Hour(Now) * 60) + Minute(Now))) * 60

rst.Fields("evento") = CodEvento

rst.Fields("codcliente") = Codigo_Cliente

rst.Fields("Motivo") = "Proposta"

rst.Fields("dataevento") = CLng(CStr(Format(Date, "yyyymmdd")))

rst.Fields("horaevento") = horasistema

''rst.Fields("datatermino") =

rst.Fields("datainclusao") = CLng(CStr(Format(Date, "yyyymmdd")))

rst.Fields("horainclusao") = horasistema

rst.Fields("permanente") = 0

rst.Fields("observacao") = DESCRICAO_PRODUTO

rst.Update

rst.Close

conn.Close

Set rst = Nothing

Set conn = Nothing

End If

Fabricio

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Mas, o Word não salva como PDF? Ou salva? Caso negativo, você precisaria ter algum componente ou aplicativo que fizesse esta conversão. O driver de impressora PrimoPDF talvez seja uma boa opção.

Abraços,

Graymalkin

Sim eu tenho o aplicativo, queria saber como criar o codigo vba que use essa conversão de forma automatica.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, se você tem o aplicativo você poderia chamá-lo através da função Shell(). Agora, os parâmetros a serem passados para ele (o seu aplicativo) e se ele realmente pode fazer isso de forma automática dependem de você olhar a documentação ou algum tipo de ajuda/suporte do mesmo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, se você tem o aplicativo você poderia chamá-lo através da função Shell(). Agora, os parâmetros a serem passados para ele (o seu aplicativo) e se ele realmente pode fazer isso de forma automática dependem de você olhar a documentação ou algum tipo de ajuda/suporte do mesmo.

Abraços,

Graymalkin

Na verdade o que eu tenho é o adobe acrobat que faz a conversão dos arquivos para PDF, no codigo que eu postei ele está salvando em um caminho no server, e salvando em *.dos porque o ele pega o documento identifica o tipo extensão a ser salva no caso Doc e consegue, só que o pdf é diferente mesmo tendo ele instalado no micro ele não aparece na opção do word em salvar como, apenas me da a opção de conversão do arquivo, ele processo é chamado por um botão que ele mesmo cria.

O que eu queria e conseguir fazer esse processo no codigo direto....um abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...