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

Salvar Em Pdf


Fabriciovasco

Pergunta

Galera tenho uma macro em um documento word que salva o arquivo automaticamente depois de clicar em uma ação, na verdade ela faz uma integração com outro sistema mas isso não vem ao caso, a situação é a seguinte:

Esse codigo salva o documento com a extensão *.doc em um determinado caminho, só que eu estou precisando com urgência fazer esse processo de salvar em pdf como posso fazer? Eu tenho o adobe Acrobat aqui.....

Olha como é o codigo vejam se conseguem me ajudar obrigado.

Fabrício Vasco

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 DO AVANTI\2007\" + 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

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

é so fazer como o graymalkin disse nesse tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=94736

esse PrimoPDF, pelo que o graymalkin disse, é um driver de impressora. então você so deve dar o comando como se fosse imprimer o documento. entre as impressoras instaladas no pc deve estar a PrimoPDF e ai você seleciona ela para imprimir.

bom, to fechando esse tópico, já que já existe um sobre o assunto, pra evitar problemas, tipo um cara chega e le esse tópico, mas não le o otro, e tenta responder sem saber das informacoes que já foram discutidas no outro.

alias, se você esta usando VBA, o outro forum é o correto.

respostas pra esse tópico postem aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=94736

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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