Procedimiento para exportar un archivo de texto con delimitadores de coma y comilla en Excel

Para obtener una versión de este artículo para Microsoft Excel 98 y versiones anteriores de Excel, vea
123183 .

Resumen

Microsoft Excel carece de un comando de menú para exportar automáticamente datos a un archivo de texto de manera que el archivo de texto se exporte con comillas y con comas como delimitadores. Por ejemplo, no existe ningún comando para crear automáticamente un archivo de texto que contenga lo siguiente:
"Texto1", "Texto2", "Texto3"
No obstante, puede crear esta funcionalidad en Excel mediante un procedimiento de Microsoft Visual Basic para Aplicaciones.

Más información

Microsoft proporciona ejemplos de programación solamente como ilustración, sin ninguna garantía ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. En este artículo se da por supuesto que ya conoce el lenguaje de programación que se muestra, así como las herramientas empleadas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas.


Puede utilizar la instrucción Print # en un procedimiento de Visual Basic similar al siguiente para exportar un archivo de texto con comillas y comas como delimitadores. Para que el procedimiento funcione correctamente, debe seleccionar las celdas que contienen los datos antes de ejecutarlo.

Antes de trabajar con el código de ejemplo que se incluye a continuación, siga estos pasos:
  1. Abra un libro nuevo.
  2. En Microsoft Office Excel 2003 o en Microsoft Excel 2002, seleccione Macro en el menú Herramientas y haga clic en Editor de Visual Basic. O bien, presione Alt+F11.

    En Microsoft Office Excel 2007, haga clic en la ficha Programador y, después, haga clic en Visual Basic en el grupo Código. O bien, presione Alt + F11.

    Nota: para mostrar la ficha Programador en la cinta de opciones, haga clic en el botón de Microsoft Office, haga clic en Opciones de Excel, haga clic en la categoría
    Popular, haga clic para activar la casilla Mostrar ficha Programador en la cinta de opciones y, a continuación, haga clic en Aceptar.
  3. En el Editor de Visual Basic, haga clic en Módulo en el menú Insertar.
  4. Escriba o pegue el código de ejemplo siguiente en la hoja de módulo.
    Sub QuoteCommaExport()
    ' Dimension all variables.
    Dim DestFile As String
    Dim FileNum As Integer
    Dim ColumnCount As Integer
    Dim RowCount As Integer

    ' Prompt user for destination file name.
    DestFile = InputBox("Enter the destination filename" _
    & Chr(10) & "(with complete path):", "Quote-Comma Exporter")

    ' Obtain next free file handle number.
    FileNum = FreeFile()

    ' Turn error checking off.
    On Error Resume Next

    ' Attempt to open destination file for output.
    Open DestFile For Output As #FileNum

    ' If an error occurs report it and end.
    If Err <> 0 Then
    MsgBox "Cannot open filename " & DestFile
    End
    End If

    ' Turn error checking on.
    On Error GoTo 0

    ' Loop for each row in selection.
    For RowCount = 1 To Selection.Rows.Count

    ' Loop for each column in selection.
    For ColumnCount = 1 To Selection.Columns.Count

    ' Write current cell's text to file with quotation marks.
    Print #FileNum, """" & Selection.Cells(RowCount, _
    ColumnCount).Text & """";

    ' Check if cell is in last column.
    If ColumnCount = Selection.Columns.Count Then
    ' If so, then write a blank line.
    Print #FileNum,
    Else
    ' Otherwise, write a comma.
    Print #FileNum, ",";
    End If
    ' Start next iteration of ColumnCount loop.
    Next ColumnCount
    ' Start next iteration of RowCount loop.
    Next RowCount

    ' Close destination file.
    Close #FileNum
    End Sub
  5. Antes de ejecutar la macro, seleccione los datos que desee exportar y ejecute la subrutina QuoteCommaExport.
Propiedades

Id. de artículo: 291296 - Última revisión: 9 ene. 2008 - Revisión: 1

Comentarios