USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Trabalhando com o Word pelo VB
João Paulo
ARCOS
MG - BRASIL
ENUNCIADA !
Postada em 31/12/2010 09:38 hs            
Alguém pode me explicar o pq que este codigo nao funciona, antes estava funcionando derrepente parou de funcionar.

Dim CaminhoCartas As String
Dim conta As Integer
Dim NomeArquivo As String

On Error GoTo ErrorHandler

If txtNomedoArquivo.Text = "" Then
txtNomedoArquivo.Text = txtNome.Text
End If

If txtNomedoArquivo.Text = "" Then
MsgBox "O Nome do Arquivo a ser gerado, deve ser informado.", vbExclamation
txtNomedoArquivo.SetFocus
Exit Sub
End If

CaminhoCartas = CaminhoBD
conta = Len(CaminhoCartas)
conta = conta - 6
CaminhoCartas = Left(CaminhoCartas, conta)
CaminhoCartas = CaminhoCartas & "Arquivos"

Set objword = New word.Application
' Desabilita o botao de comando
'cmdGerarContrato.Enabled = False
' nome do relatorio pré montado
objword.Documents.Open (CaminhoCartas & "Carta01.doc")

' chama rotina para substituicao
Call Substitui_Var("@nome", txtNome)
Call Substitui_Var("@endereco", txtEndereco)
Call Substitui_Var("@Cidade", txtCidade)
Call Substitui_Var("@cep", txtCEP)
Call Substitui_Var("@EnderecoImovel", txtEnderecoImovel)
Call Substitui_Var("@Fiador", txtFiador)
Call Substitui_Var("@Data", DataExtenso)

NomeArquivo = txtNomedoArquivo.Text & ".doc"

' Salva o documento com um novo nome
objword.ActiveDocument.SaveAs (CaminhoCartas & "Cartas Geradas" & NomeArquivo)
'Encerra o word
objword.Quit
' libera memoria
Set objword = Nothing

MsgBox "Carta gerada com sucesso! em : " & CaminhoCartas & "Cartas Geradas", vbInformation, " Carta Gerada "

If MsgBox("Deseja Abrir a Carta Gerada?", vbInformation + vbYesNo, "AVISO") = vbYes Then
' abri o arquivo gerado

Dim word As New word.Application

With word
   .Documents.Open (CaminhoCartas & "Cartas Geradas" & NomeArquivo)
   .Visible = True
   .WindowState = wdWindowStateMaximize
End With

Set word = Nothing
End If


Exit Sub

ErrorHandler:       ' Rotina de tratamento de erro.
  Select Case Err.Number
   Case 5152
   MsgBox "Atenção! O Nome da Carta Gerada não pode ter Caracteres Especiais.", vbInformation
   Case 5356
   MsgBox "Atenção! O Arquivo pode estar aberto na memoria do sistema. Feche o Sistema", vbInformation
End Select

End Sub

Private Sub Substitui_Var(Header As String, Data As String)
On Error GoTo ErrorHandler

  With objword.Selection.Find
     .ClearFormatting
     .Text = Header
     .Execute Forward:=True
  End With

  Clipboard.Clear
  Clipboard.SetText (Data)
  objword.Selection.Paste
  Clipboard.Clear

ErrorHandler:       ' Rotina de tratamento de erro.
  Select Case Err.Number
   Case 4198
   MsgBox "Atenção! Falta preencher algum campo do contrato.", vbExclamation
   Exit Sub
End Select

End Sub
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 31/12/2010 13:44 hs            
ele acusa algum erro? ou simplesmente não funciona?
   
JOÃO PAULO
não registrado
ENUNCIADA !
Postada em 31/12/2010 21:14 hs   
simplesmente nao funciona. antes tava funcionando blz, mais agora simplesmente parou de funcionar.
Esta rotina até abri o documento mais não SUBSTITUI OS CAMPOS,  de vez em quando SUBSTITUI SÓ O PRIMEIRO CAMPO.
   
Juan Carlos R.A
Pontos: 2843
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 03/01/2011 09:44 hs            
Cara comenta os : Error goto error ErrorHandler, algum bug deve ter, vc ja tentou depurando com F8 e F9 ?
   
JOÃO PAULO
não registrado
ENUNCIADA !
Postada em 03/01/2011 09:56 hs   
Achei o erro, mais nao sei como resolver.

Erro 4605
"Este metodo ou propriedade não esta disponivel porque a Area de Transferencia esta Vazia ou não é Válida."

Como resolvo isso. este erro acontece nesta linha desta rotina abaixo:

Private Sub Substitui_Var(Header As String, Data As String)
'On Error GoTo ErrorHandler

  With objword.Selection.Find
     .ClearFormatting
     .Text = Header
     .Execute Forward:=True
  End With

  Clipboard.Clear
  Clipboard.SetText (Data)
  objword.Selection.Paste '''****AQUI DA O ERROOOOOOOO*****''''"
  Clipboard.Clear

ErrorHandler:       ' Rotina de tratamento de erro.
  Select Case Err.Number
   Case 4198
   MsgBox "Atenção! Falta preencher algum campo do contrato.", vbExclamation
   Exit Sub
End Select

End Sub
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página