CRIAR ARQUIVO TEXTO

ELMO01 21/12/2015 10:54:13
#455374
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
SINCLAIR 21/12/2015 11:39:04
#455376
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...

         [ô](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.


KURTGU 21/12/2015 13:04:32
#455377
Resposta escolhida
O mesmo que o amigo ai em cima postou mais em vb.net

ELMO01 21/12/2015 17:14:29
#455389
Nossa amigos valeu muito mesmo, não tinha idéia de como fazer isto

Muito Obrigado mesmo.

Elmo
Tópico encerrado , respostas não são mais permitidas