Mostrando entradas con la etiqueta Bloc de notas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Bloc de notas. Mostrar todas las entradas

2014-06-23

Exportar un rango de Excel al bloc de notas mediante VBA

Title Un aspecto importante al trabajar en una aplicación es la salida de datos o exportación de los mismos. Por ejemplo, para exportar datos en un formato de texto compatible con otras aplicaciones o sistemas. En otra entrada quizá trataremos las diferentes alternativas. En esta ocasión exportamos un rango como un fichero de texto (delimitado por tabulaciones) y lo abrimos con el bloc de notas.

Opción 1

La primera alternativa destaca por su brevedad. Abre el bloc de notas y pega el rango de CurrentRegion (región actual). El fichero de texto lo tendremos que guardar antes de cerrar. El problema es que usar SendKeys en VBA puede causar problemas imprevistos. En este caso desactiva la tecla Bloq Num.

Sub Rango_a_Bloc_de_notas1()
    Range("A1").CurrentRegion.Copy 'Celda de la región actual
    Shell "notepad.exe", vbNormalFocus
    SendKeys "^V"
    Close
End Sub

Opción 2

En esta segunda opción prescindimos de SendKeys. Creamos un libro nuevo de Excel, pegamos el contenido de CurrentRegion del libro inicial, guardamos el nuevo libro como fichero de texto con el nombre prueba.txt y abrimos el nuevo fichero de texto con el bloc de notas.

Sub Rango_a_Bloc_de_notas2()
    Application.ScreenUpdating = False
    Range("A1").CurrentRegion.Copy 'Celda de la región actual
    Dim ruta As String, wb As Object
    ruta = ThisWorkbook.Path & "\prueba.txt"
        Set wb = Workbooks.Add
        wb.Worksheets(1).Paste
        wb.SaveAs Filename:=ruta, FileFormat:=xlText
        Application.DisplayAlerts = False
        wb.Close
        Application.DisplayAlerts = True
    Shell "notepad.exe " & ruta, vbNormalFocus
End Sub
Nube de datos