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

AutomaÇÃo Ole


ToPronto N'Area

Pergunta

E ai pessoal, seguinte to com um problema pra fazer um contrato de varias paginas, tipo umas 8!

Pensei em relatorio, mas não ia dar. neste contrato irao aparecer dados de um db grid e muito texto, inton pesquisei e achei um, codigo no macorrati de automação ole, só que da um erro o código é este!

Private Sub Command2_Click()

Dim objword As Object 'declara um variável objeto

Set objword = CreateObject("Word.Basic") 'cria objeto e inicia o Word

objword.filenew "Normal", 0 'cria novo arquivo

objword.Bold 'define fonte em negrito

objword.FontSize 24 'define tamanho da fonte

objword.Insert "AUTOMAÇÃO OLE !!!" 'insere o texto no arquivo

objword.appmaximize "", 1

objword.FilePrintPreview 'Visualiza a impressao

objword.AppActivate "Microsoft Word"

End Sub

ele da um erro do objword.AppActivate "Microsoft Word"

não sei o que é o erro, e se vocês puderem me ajudar fico muito grato!

Obrigado desde já!

Só pra avisar, estou usando

Windows xp sp2;

Vb 6.0 sp 5.0;

CRistal 10.0

Office 2003

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Pessoal é o seguinte, consegui resolver o caso depois de alguns dias pesquisando!

è o seguinte:

Primeiramente temos de fazer a referencia lá em project - references - microsoft word 11.0 Object Library *pra quem usa o office 2003

Depois você vai declarar em Declarations

Public objword As Word.Application

Depois você coloca este codigo!

Private Sub CmdWord()

Dim temp As String

On Error GoTo trata_erro

Set objword = New Word.Application

' Desabilita o botao de comando

CmdWord(0).Enabled = False

' nome do relatorio pré montado

objword.Documents.Open ("caminho do arquivo do word\nomedoarquivodoword.doc")

objword.Visible = True 'se você quiser que apareça enquanto executa a ação

' chama rotina para substituicao

Call Substitui_Var("@datadodia", Format(Now, "Long Date"))

Call Substitui_Var("@rscontratante", Label1(0))

'Call Substitui_Var("@cidade1", txtcidade)

'Call Substitui_Var("@contratante", Data1.Recordset("nomeresp"))

'Call Substitui_Var("@endereco2", Data1.Recordset("endereco"))

'Call Substitui_Var("@documento", Data1.Recordset("cidade"))

'Call Substitui_Var("@aluno", Data1.Recordset("nome"))

' Salva o documento com um novo nome

objword.ActiveDocument.SaveAs (""caminho do arquivo do word\" & nomedoarquivo)

'Encerra o word

objword.Quit

' informa ao usuario que o contrato foi gerado

MsgBox "Proposta gerada com sucesso! em : " & nomedoarquivo, vbInformation, " Proposta gerada! "

' libera memoria

Set objword = Nothing

Exit Sub

trata_erro:

MsgBox "Ocorreu um erro durante o processamento " & " - Erro numero : " & Err.Number

End Select

End Sub

'função para substituir palavras no word

Private Sub Substitui_Var(Header As String, Data As String)

With objword.Selection.Find

.ClearFormatting

.Text = Header

.Execute Forward:=True

End With

Clipboard.Clear

Clipboard.SetText (Data)

objword.Selection.Paste

Clipboard.Clear

End Sub

lembrando que nomedoarquivodoword pode ser uma label ou txt, e não precisa colocar .caption ou .text!

beleza, desde já agradeço todos que leram o assunto!

E ai estas espero ter ajudado alguém!

Fui

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,6k
×
×
  • Criar Novo...