Jump to content


- - - - -

Abrir / Salvar Arquivo Txt.










1 resposta a este tópico

#1 Edilson Souza

    GoKu

  • (*)Insigne
  • 4478 posts
  • Sexo:Masculino
  • Estado:Pernambuco

Adicionado 27 March 2003 - 03:53 AM

Abrindo e Salvando um Arquivo Texto

Talvez para algumas pessoas seja difícil abrir e salvar arquivos, mas tem uma dica legal:

Insira um form e nele coloque um textbox, dois botões de comando (cmdOpen e cmdSave) em um common dialog.

No form copie-e-cole este texto:

Private Sub cmdOpen_Click()
Form1.CommonDialog1.Filter = "Texto Simples (*.txt) |*.txt|"
Form1.CommonDialog1.FilterIndex = 1
Form1.CommonDialog1.Action = 1
Filename = Form1.CommonDialog1.Filename
OpenFile (Filename)
End Sub

Private Sub cmdSave_Click()
Form1.CommonDialog1.Filter = "Texto Simples (*.txt) |*.txt|"
Form1.CommonDialog1.FilterIndex = 1
Form1.CommonDialog1.Action = 2
Filename = Form1.CommonDialog1.Filename
CloseFile (Filename)
End Sub

Em seguida crie um modulo e copie-e-cole isso:

Dim ArrayNum As Integer
Global Filename As String
Const MB_YESNO = 4, MB_ICONQUESTION = 32, IDNO = 7, MB_DEFBUTTON2 = 256


Sub OpenFile(Filename As String)
On Error GoTo uhoh
Dim F As Integer
        F = FreeFile
         Open Filename For Input As F
         Form1!Text1.Text = Input$(LOF(F), F)
         Close F
         Exit Sub
         
uhoh:
Exit Sub
End Sub

Sub DoUnLoadPreCheck(unloadmode As Integer)
If unloadmode = 0 Or unloadmode = 3 Then
   Unload Form1
End If
End Sub

Sub CloseFile(Filename As String)
Dim F As Integer
On Error GoTo CloseError
'   If Dir(Filename) <> "" Then
'      response = MsgBox("Já existe um arquivo de mesmo nome, deseja sobrescrevê-lo?", MB_YESNO + MB_QUESTION + MB_DEFBUTTON2, "Erro")
'      If response = IDNO Then Exit Sub
'   End If
   F = FreeFile
   Open Filename For Output As F
   Print #F, Form1!Text1.Text
   Close F
   Filename = "Sem Título"
   Exit Sub

CloseError:
   MsgBox "Ocorreu um erro durante salvamento do arquivo, refaça a operação.", 48, "Erro"
   Exit Sub
End Sub


#2 Dirceu Resende Filho

    Dirceu Resende

  • Administrador
  • 2106 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:Espírito Santo

Adicionado 15 April 2008 - 01:03 PM

Tenho alguns meios diferentes de fazer isso:

Utilizando as instruções do VB



Abrir arquivo e armazenar todo o conteúdo em uma variável:
Dim FF As Integer, Texto As String
FF = FreeFile
Open Arquivo For Input As #FF
	Texto = Input(LOF(FF), FF)
Close #FF

Abrir arquivo e armazenar na variável a cada linha (uma sobrepõe a outra)
Dim FF As Integer, Texto As String
FF = FreeFile
Open Arquivo For Input As #FF
	Do While Not EOF(FF)
		Line Input #FF, Texto
		'Codifique aqui, o que você fará com cada linha
	Loop
Close #FF

Salvar o conteúdo de uma variável (ou componente) em um arquivo
Dim FF as Integer
FF = FreeFile
Open Arquivo For Output As #FF
	Print #FF, Texto
Close #FF

Utilizando as instruções do FileSystemObject



Bom, isso aí foi utilizando os próprios comandos do VB. Pra quem gosta do FileSystemObject, lá vai:
Lembre de adicionar refêrencia a "Microsoft Scripting Runtime"

Abrir arquivo e armazenar todo o conteúdo em uma variável
Dim fso As FileSystemObject
Dim arq As File
Dim txt As TextStream
Dim Texto As String
	
Set fso = New FileSystemObject
Set arq = fso.GetFile(Arquivo)
Set txt = arq.OpenAsTextStream(ForReading, TristateUseDefault)
Texto$ = txt.ReadAll

txt.Close
Set txt = Nothing
Set arq = Nothing
Set fso = Nothing

Salvar o conteúdo de uma variável (ou componente) em um arquivo
Dim fso As FileSystemObject
Dim txt As TextStream

Set fso = New FileSystemObject
Set txt = fso.CreateTextFile(Arquivo)
txt.Write Texto
txt.Close
Set txt = Nothing
Set fso = Nothing






1 usuário(s) esta(ão) lendo este tópico

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)