Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FVIEIRAS

Capturar conteúdo de arquivo TXT

Recommended Posts

Amigos,

 

Para utilizar um sistema de geração de NF-e, já foi resolvido o passo de como criar um arquivo txt, como o código abaixo.

 

Dim fso As New FileSystemObject 
Dim arquivo As File 
Dim arquivoLog As TextStream 
 
 
Function InicFile(source As String) As TextStream 
    If fso.FileExists(source) Then 
       Set arquivo = fso.GetFile(source) 
    Else 
       Set arquivoLog = fso.CreateTextFile(source) 
       arquivoLog.Close 
       Set arquivo = fso.GetFile(source) 
    End If 
    Set arquivoLog = arquivo.OpenAsTextStream(ForAppending) 
    Set fso = Nothing 
    Set InicFile = arquivoLog 
End Function 
 
Sub AddTextToStream(arq As TextStream, msg As String) 
    arq.WriteLine msg 
End Sub 
 
Private Sub Command1_Click() 
    AddTextToStream arquivoLog, "lokokoK" 
End Sub 
 
Private Sub Form_Load() 
    Set arquivoLog = InicFile("C:\Users\Lucas\Documents\text.txt") 
End Sub

 

Agora como faço para pegar o conteúdo que está dentro do arquivo txt que foi criado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá FVierias, veja se te ajuda:

 

Open App.Path & "\arquivo.txt" For Input As #1
    Do Until EOF(1)
        Line Input #1, linha
        variavel = variavel & linha & chr(13) & crh(10)
    Loop
Close #1

msgbox variavel

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não está dando certo...

 

Quando tenta executar o App.Path dá um erro dizendo que nome ou número do arquivo está incorreto...

 

A função que criei para abrir o arquivo está assim:

 

 

Private Sub BuscaResultadoDeEnvioNFe()

Dim sPathFile As String
Dim NfeResultEnvio As String, linha As String

On Error GoTo BuscaResultadoDeEnvioNFe_err

    sPathFile = Trim("Z:\Arquivos de programas\TESTE.TXT")
    
    Open App.Path & Trim(sPathFile) For Input As #1
        Do Until eof(1)
            Line Input #1, linha
            NfeResultEnvio = NfeResultEnvio & linha & Chr(13) & Chr(10)
        Loop
    Close #1
     
    MsgBox NfeResultEnvio

    Exit Sub
    
BuscaResultadoDeEnvioNFe_err:
    MsgBox Err.Description, , "frmConCli (BuscaResultadoDeEnvioNFe). " & Err.Number
    
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu uma alterada em seu código, veja se funciona.

 

Private Sub Command1_Click()
Text1 = BuscaResultadoDeEnvioNFe()
End Sub




Function BuscaResultadoDeEnvioNFe()

Dim sPathFile As String
Dim NfeResultEnvio As String, linha As String

ArqNum = FreeFile ' incluí este

On Error GoTo BuscaResultadoDeEnvioNFe_err

sPathFile = Trim("C:\TESTE.TXT")

Open Trim(sPathFile) For Input As ArqNum '#1
Do Until EOF(1)
Line Input #1, linha
NfeResultEnvio = NfeResultEnvio & linha & Chr(13) & Chr(10)
Loop
Close #1

MsgBox NfeResultEnvio

Exit Function

BuscaResultadoDeEnvioNFe_err:
MsgBox Err.Description, , "frmConCli (BuscaResultadoDeEnvioNFe). " & Err.Number

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo para pegar o conteúdo!

 

Agora em uma outra função, eu converto o conteúdo em PDF.

 

Como faço para de um botão do sistema abrir um arquivo em PDF que está salvo no PC?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se possível seja mais preciso e post seu código para que possamos analisar.

 

Para abrir um programa utilize como no exemplo abaixo:

 

Private Sub cmdAbrir_Click()
Dim AbrePrograma as String    
     AbrePrograma = Shell(App.Path & "CAMINHO DO EXECUTÁVEL", vbMaximizedFocus)
' O APP.Path informa ao programa que o que procura está no mesmo diretório onde está trabalhando.
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo...

 

Não está na mesma pasta do programa... Está assim o código:

 

Private Sub Visualiza()

Dim sPath As String, sFile As String
Dim sOpen As String

On Error GoTo Visualiza_err

    sPath = Trim("Z:\Arquivos de programas\ARQUIVOS\")
    sFile = Trim(ARQUIVO.pdf")    
    sOpen = Shell(Trim(sPath) & Trim(sFile), vbMaximizedFocus)
        
    Exit Sub
    
Visualiza_err:
    MsgBox "Arquivo Não Encontrato"

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilizei o link fornecido pelo Scorpio e funcionou sim.

Provavelmente você não colocou o endereço correto de seu arquivo.

 

os códigos abaixo para um form e tente novamente. (veja se o arquivo etá no local onde constei).

 

 

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
ShellExecute 0, vbNullString, "Z:\Arquivos de programas\ARQUIVOS\ARQUIVO.pdf", vbNullString, vbNullString, 1
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.