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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Salvar dados em txt
Marcelo
não registrado
Postada em 21/11/2008 19:07 hs   
Olá, tenho pouca experiência com vba, fiz um código para salvar um banco de dados em determinada região da planilha do excel para um arquivo txt. Fiz isso no excel 97-2003 e funcionou direitinho, mas quando fui usar no excel 2007 não funcionou, deu um "erro de tempo de execução-caminho não encontrado".
Abaixo está o programa:


Public Sub SalvaArq(ByVal sArquivo As String)
Dim iARQ As Integer, iRet As Integer
Dim iCol, iLin As Integer
' Linha que inicial
iLin = 5
' Coluna inicial
iCol = 32


  iARQ = FreeFile
  If Dir$(sArquivo) <> "" Then
    iRet = Yes
    iRet = MsgBox("O arquivo já existe. Você " & _
           "deseja sobrescreve-lo?", vbQuestion + _
           vbYesNo, "ATENÇÃO!!!")
    If iRet = vbNo Then
      Exit Sub
    End If
  End If
Open sArquivo For Append As #iARQ
  While Cells(iLin, iCol).Text <> ""
    ' Adicione iCol + N para as colunas que deseja gravar
    Print #iARQ, Cells(iLin, iCol).Text & "  " & Cells(iLin, iCol + 1).Text & "  " & Cells(iLin, iCol + 2).Text & " " & Cells(iLin, iCol + 3).Text
    iLin = iLin + 1
  Wend
  Close iARQ
End Sub

O erro está acontecendo na parte:
Open sArquivo For Append As #iARQ

Alguém pode me ajudar?

Obrigado!
     
Tiranossauro
DOIS IRMÃOS
RS - BRASIL
ENUNCIADA !
Postada em 22/11/2008 22:17 hs            
Sabe que eu não havia usado ainda esta forma de abrir txt como append. Se não me engano isto não funciona no VB. Alguém me corrija se estiver errado. Talvez isto possa ajudar.
 
Public Sub SalvaArq(ByVal sArquivo As String)
Dim iARQ As Integer, iRet As Integer
Dim iCol, iLin As Integer
' Linha que inicial
iLin = 5
' Coluna inicial
iCol = 32
dim strGuarda as string

If Dir$(sArquivo) <> "" Then
   iRet = Yes
   iRet = MsgBox("O arquivo já existe. Você " & _
          "deseja sobrescreve-lo?", vbQuestion + _
          vbYesNo, "ATENÇÃO!!!")
   If iRet = vbNo Then
      Exit Sub
   end if
   Open sArquivo for Input As #1
   Open "NovoArq.txt" For Output As #2
   Do While Not EOF(1)
      Line Input #1, strGuarda
      Print #2, strGuarda
   Wend
   Close #1
else 
   Open "NovoArq.txt" For Output As #2
End If
  While Cells(iLin, iCol).Text <> ""
    ' Adicione iCol + N para as colunas que deseja gravar
    Print #2, Cells(iLin, iCol).Text & "  " & Cells(iLin, iCol + 1).Text & "  " & Cells(iLin, iCol + 2).Text & " " & Cells(iLin, iCol + 3).Text
    iLin = iLin + 1
  Wend
  Close #2
End Sub
 
 
   
Marcelo
não registrado
Postada em 22/11/2008 22:56 hs   
Continua dando erro, desta vez no "wend" que está antes do "else". Sugiro tentar criar um banco de dados, com qualquer informação, no excel e testar esse código para ver se funciona.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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