Tutorial de Powerpoint Educacional
Powerpoint Educacional > Arquivos externos < VOLTAR

Arquivos externos
Quando se trabalha com grandes quantidades de dados, é conveniente freqüentemente gravar dados em um arquivo ou ler dados de um arquivo. A instrução Open permite que você crie e acesse arquivos diretamente. Open fornece três tipos de acesso a arquivo:

  • Acesso seqüencial (modos Input, Output e Append), sendo Input o leitura de dados, Output o modo de gravação e Append para o modo de gravação, preservando os dados já gravados no arquivo.

  • Acesso aleatório (modo Random) é utilizado para ler e gravar dados em um arquivo sem fechá-lo. O acesso aleatório a arquivos mantém os dados em registros, o que agiliza a localização das informações.

  • Acesso binário (modo Binary) é utilizado para ler ou gravar dados em qualquer posição de byte em um arquivo, como no armazenamento ou exibição de uma imagem de bitmap.
    Dica!

    A instrução Open não deve ser utilizada para abrir os tipos de arquivo do próprio aplicativo. Por exemplo, não utilize Open para abrir um documento do Word, uma planilha do Microsoft Excel ou um banco de dados do Microsoft Access. Se você agir dessa forma, o arquivo terá a sua integridade perdida e será corrompido.

Para o tipo seqüencial, as instruções Print # ou Write # servem para gravar dados, enquanto a instrução Input # serve para ler os dados. Já nos tipos aleatórios e binário, a instrução Put serve para gravar dados e a instrução Get para recuperá-los. Observe o seguinte código, que é um exemplo de leitura de dados em tipo seqüencial:

Sub Ler_Dados()
     Dim nome, email As String
     nome = ""
     email = ""
     Dim cont As Integer
     cont = 0
          Open "dados_dos_alunos.txt" For Input As #1
               Do While Not EOF(1)
                    Input #1, nome, email
                    cont = cont + 1
                    MsgBox (cont & " - " & nome & Chr(10) & email)
               Loop
          Close #1
     MsgBox (cont & " usuário(s) cadastrado(s)")
End Sub

[ DOWNLOAD ]

Para gravação de dados, no tipo seqüencial, teríamos:

Sub Gravar_Dados()
     Dim Nome, Email As String
     Nome = InputBox(prompt:="Qual seu nome?", Title:="Cadastro de Usuários")
     Email = InputBox(prompt:="Qual seu email?", Title:="Cadastro de Usuários")
          Open "dados_dos_alunos.txt" For Append As #1
               Print #1, Nome
               Print #1, Email
          Close #1
     MsgBox ("Usuário cadastrado com sucesso!")
End Sub

[ DOWNLOAD ]

Outra forma de gravação e leitura é através da criação do arquivo de texto como um objeto manipulável. Uma vez criado o objeto, o arquivo de texto pode ser criado, alterado, copiado, lido, deletado, dentre outras possibilidades. Como essa forma, podemos ter um pouco mais de controle sobre os dados gravados. Porém, para apresentações simples, o modo mostrado acima já é suficiente.

Sub Sim()
     Dim Nome, Email As String
          Nome = InputBox(prompt:="Qual o seu nome completo?", Title:="Por favor, informe seu nome...")
          Email = InputBox(prompt:="Qual o seu email?", Title:="Por favor, informe seu email...")
     Dim Objeto, Arquivo
          Set Objeto = CreateObject("Scripting.FileSystemObject")
          Set Arquivo = Objeto.OpenTextFile("dados_dos_alunos.txt", ForAppending, TristateFalse)
               Arquivo.Write Nome & Chr$(10) & Email & Chr$(13)
               Arquivo.Close
          MsgBox ("Agradecemos sua colaboração!")
     SlideShowWindows(1).View.Exit
End Sub

[ DOWNLOAD ]

[ CRÉDITOS ]

 [ Início ]

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL
CENTRO INTERDISCIPLINAR DE NOVAS TECNOLOGIAS NA EDUCAÇÃO
2006 ® Todos os direitos reservados.