Saludos, Resulta que tengo una macro que copia el contenido de un archivo plano (.txt) y lo pega al Excel, este archivo plano lo abro desde una ventana tipo árbol donde puedo navegar por las carpetas para buscarlo. ¿Mi pregunta es como puedo cerrar este archivo plano? ¿Con la ruta del archivo se puede cerrar?
1 Respuesta
Respuesta de mrtool
1
1
mrtool, Con mas de 15 años de experiencia en consultoria informatica en...
No entiendo muy bien la pregunta, me queda la duda de si te lo abre tipo XML en un notepad o navegador o si bien hay un formulario con un TreeView que lo muestra en árbol. Si me pudieras dar más información..
No mira, la macro me abre el archivo plano pero es tipo .txt, copia el contenido del txt y lo pega a un archivo excel, lo que quiero hacer ahora es poder cerrar el archivo txt.
Pégame la macro para que pueda ver el código a ver como lo hacemos.
Esta es la macro: Sub ImportarArchoPlano() Dim ArchEx As String Dim ArchIm As String Application.ScreenUpdating = False Arch = Application.GetOpenFilename("Archivos de texto (*.txt), *.txt") If Arch <> False Then Workbooks.OpenText Arch, Origin:=xlMSDOS, StartRow:=1, _ DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(25, 1), Array(100, 1 _ ), Array(125, 1), Array(126, 1), Array(136, 1), Array(139, 1), Array(140, 1), Array(165, 1) _ , Array(240, 1), Array(265, 1), Array(266, 1), Array(276, 1), Array(279, 1), Array(280, 1), _ Array(290, 1), Array(298, 1), Array(301, 1), Array(304, 1)), TrailingMinusNumbers:= _ True ArchEx = Application.ThisWorkbook.Name Application.ScreenUpdating = True Range("A1:S20000").Select Selection.Copy Windows(ArchEx).Activate Range("A9").Select ActiveSheet.Paste ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 10 ActiveWindow.ScrollColumn = 11 ActiveWindow.ScrollColumn = 12 ActiveWindow.ScrollColumn = 11 ActiveWindow.ScrollColumn = 10 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 1 Range("A9").Select Application.CutCopyMode = False 'Windows(Arch).Close End Sub al final comente la funcion: Windows(Arch).Close, ya que primeramente tenia el nombre de el archivo, pero al seleccionar otro archivo con diferente nombre se cae la marcro. Por eso es que quiero saber como cerrar el archivo plano
Prueba con esto a ver si va bien: 'Estas dos lineas despues justo de abrir el archivo Dim Wrbk Wrbk = Workbooks.Count ArchEx = Application.ThisWorkbook.Name ' esta ya la tienes la pongo comorefrencia Workbooks(Wrbk). Close ' esta cuando quieras cerrar el arrchivo de texto.