Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Importação TXT

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Julio Mangilli
Manda bem
Manda bem
Mensagens: 127
Registrado em: Sex Out 05, 2018 2:42 pm

Importação TXT

Mensagem por Julio Mangilli »

Pessoal estou importando um arquivo .txt e depois que ele faz a importação ele não consegue fechar a planilha que criou para importar conforme destaca a baixo, podem me ajudar?

Ele fala que o subscrito está fora de intervalo, acredito que ele não está reconhecendo.




Sub abrir_TXT(arquivo As String, ARQ_P As String)
Dim ARQ_S, PLANILHA As String



Workbooks.OpenText Filename:=arquivo, _
Origin:=xlWindows, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:= _
Array(0, 2), TrailingMinusNumbers:=True

ARQ_S = ActiveWorkbook.Name




Columns("A:A").Select
Selection.Copy
Windows(ARQ_P).Activate
Sheets("Import.").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Import.").Select
Sheets("Conciliar.").Select
Copiarecolar

Sheets("import.").Visible = False
Sheets("analise").Visible = False
Sheets("Conciliar.").Select
Range("A1").Select
ActiveWorkbook.Protect "041063"


Windows(ARQ_S).Activate
ActiveWindow.Close







End Sub


Sub indicar_arquivo()
Dim intChoice As Integer
Dim strPath, ARQ_P As String

ActiveWorkbook.Unprotect "041063"
Sheets("import.").Visible = True
Sheets("analise").Visible = True

With Application
.ScreenUpdating = False
End With

ARQ_P = ActiveWorkbook.Name
's? permite ao usu?rio selecionar um arquivo
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False


'Remover todos os outros filtros
Call Application.FileDialog(msoFileDialogOpen).Filters.Clear
'Adicionar um filtro personalizado
Call Application.FileDialog(msoFileDialogOpen).Filters.Add( _
"Apenas TXT", "*.TXT")
'tornar a caixa de di?logo de arquivos vis?vel para o usu?rio
intChoice = Application.FileDialog(msoFileDialogOpen).Show
'determinar que escolha o usu?rio fez
If intChoice <> 0 Then

'obter o caminho do arquivo selecionado pelo usu?rio
strPath = Application.FileDialog( _
msoFileDialogOpen).SelectedItems(1)

Sheets("Import.").Select
Columns("A:A").Select
Selection.ClearContents
Range("A1").Select

Call abrir_TXT((strPath), (ARQ_P))


End If
With Application
.ScreenUpdating = True
End With
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


sistem.atc
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Sex Out 26, 2018 8:46 am

Re: Importação TXT

Mensagem por sistem.atc »

Boa tarde Julio,
Aqui funcionou normalmente, tem os arquivos que estão dando erro? Assim podemos avaliar os nomes das referencias.


Julio Mangilli
Manda bem
Manda bem
Mensagens: 127
Registrado em: Sex Out 05, 2018 2:42 pm

Re: Importação TXT

Mensagem por Julio Mangilli »

Olá Sr. Sisten.atc desde já agradeço seu retorno.


Então não consegui anexar o arquivo .txt aqui mas dentro do arquivo .txt que eu importo tem essas informações.

1000000000812018100040110000001600000000000
1000000000812018100150110000010270000000000
1000000000812018100151110000017000000000000
1000000000812018100025110000003220000000000

Eu importo e depois trabalho com os dados, o que o corre é que ao rodar a importação o excel abri uma planilha nova com o nome do arquivo e depois ela não consegue fechar essa planilha que abriu. Mas como você disse que funcionou eu já fico um pouco confuso, então eu mesclei e coloquei uma nova informação na programação que foi:
Windows(ARQ_S).Activate
Workbooks(ARQ_S).Close savechanges:=True

Então funcionou. você consegue me explicar o porque ? a diferença das duas programações?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder