CRIAR ARQUIVO TEXTO
Bom dia,
Estou precisando de criar uma função que gere um arquivo de contrato padrão para o meu sistema, mas não tenho nem ideia de como fazer. Se alguém tiver algum exemplo ou ideia para me ajudar ficarei agradecido.
Elmo
Estou precisando de criar uma função que gere um arquivo de contrato padrão para o meu sistema, mas não tenho nem ideia de como fazer. Se alguém tiver algum exemplo ou ideia para me ajudar ficarei agradecido.
Elmo
Colega, ELM01
Sei que precisa em VB.Net, mas envio em VB6 que será facÃlimo para adaptar.
Primeiro você precisará ter um documento padrão, onde o nome do cliente está com o texto [Ô][nome_do_cliente][Ô], por exemplo (assim mesmo, com colchetes que é para facilitar a busca/visualização).
Se for um documento do Word, por exemplo, referencie o Word no seu sistema, algo como...
Onde seria o nome do cliente, por exemplo, você fará trocas usando a pequena função abaixo:
Exemplo para trocar diversos campos por conteúdos de variáveis:
O que precisa está ai, colega... você adaptando com certeza vai conseguir.
Tudo de bom.
Sei que precisa em VB.Net, mas envio em VB6 que será facÃlimo para adaptar.
Primeiro você precisará ter um documento padrão, onde o nome do cliente está com o texto [Ô][nome_do_cliente][Ô], por exemplo (assim mesmo, com colchetes que é para facilitar a busca/visualização).
Se for um documento do Word, por exemplo, referencie o Word no seu sistema, algo como...
[ô](no declarations do formulário)
Dim objWord As Word.Application
Dim objWordOriginal As Word.Application
[ô]Dentro de um botão de comando, por exemplo
[ô]Criar objeto que vai receber os dados do Word
Set objWord = New Word.Application
[ô]Abrir o arquivo criado
objWord.Documents.Open (aqui coloque o path completo do seu arquivo padrão)
Onde seria o nome do cliente, por exemplo, você fará trocas usando a pequena função abaixo:
Private Sub Substitui_Var(strTextoParaProcurar As String, strTextoNovo As String)
On Error Resume Next
[ô]Dimensionar variáveis
Dim IntervaloDaBusca As Word.Range
Dim intContadorDeAchados As Integer
Dim blnResultadoDaBusca As Boolean
[ô]Percorrer todo o documento e fazer toda a troca, onde quer que exista
Do
Set IntervaloDaBusca = objWordOriginal.ActiveDocument.Content
IntervaloDaBusca.Find.MatchCase = False
blnResultadoDaBusca = IntervaloDaBusca.Find.Execute(strTextoParaProcurar, False, , , , , True, , , strTextoNovo)
If IntervaloDaBusca.Find.Found = True Then
[ô]Nada precisa fazer
Else
Exit Do
End If
Loop
End Sub
Exemplo para trocar diversos campos por conteúdos de variáveis:
Call Substitui_Var([Ô][nome_cadastro][Ô], strNomeCadastro)
Call Substitui_Var([Ô][cnpj_cpf_cadastro][Ô], strCNPJCPFCadastro)
Call Substitui_Var([Ô][ie_rg_cadastro][Ô], strIERGCadastro)
Call Substitui_Var([Ô][codigo_cadastro][Ô], strCodigoCadastro)
Call Substitui_Var([Ô][endereco_cadastro][Ô], strLogradouroCadastro)
Call Substitui_Var([Ô][numero_endereco_cadastro][Ô], strNumeroCadastro)
Call Substitui_Var([Ô][complemento_cadastro][Ô], strComplementoCadastro)
Call Substitui_Var([Ô][bairro_cadastro][Ô], strBairroCadastro)
Call Substitui_Var([Ô][cep_cadastro][Ô], strCEPCadastro)
Call Substitui_Var([Ô][cidade_cadastro][Ô], strCidadeCadastro)
Call Substitui_Var([Ô][uf_cadastro][Ô], strUFCadastro)
Call Substitui_Var([Ô][nome_empresa][Ô], NomeEmpresa)
Call Substitui_Var([Ô][cnpj_cpf_empresa][Ô], CNPJCPFEmp)
Call Substitui_Var([Ô][ierg_empresa][Ô], IERGEmp)
Call Substitui_Var([Ô][nome_usuario][Ô], Usuario)
[ô]Copiar o conteúdo já substituÃdo para o documento a ser criado
objWordOriginal.selection.WholeStory
objWordOriginal.selection.Copy
objWord.selection.PasteAndFormat (wdPasteDefault)
[ô]Fechar os documentos do Word
objWord.Quit False
objWordOriginal.Quit False
[ô]Retirar os documentos do Word da memória
Set objWord = Nothing
Set objWordOriginal = Nothing
O que precisa está ai, colega... você adaptando com certeza vai conseguir.
Tudo de bom.
O mesmo que o amigo ai em cima postou mais em vb.net
Nossa amigos valeu muito mesmo, não tinha idéia de como fazer isto
Muito Obrigado mesmo.
Elmo
Muito Obrigado mesmo.
Elmo
Tópico encerrado , respostas não são mais permitidas