Procedimiento para exportar un archivo de texto con delimitadores de comas y comillas en Excel

Resumen

Microsoft Excel no tiene un comando de menú para exportar automáticamente datos a un archivo de texto para que el archivo de texto se exporte con comillas y comas como delimitadores. Por ejemplo, no hay ningún comando para crear automáticamente un archivo de texto que contenga los datos siguientes:

"Text1","Text2","Text3"

Sin embargo, 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 con fines ilustrativos únicamente, 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. Se considera que está familiarizado con el lenguaje de programación que se muestra y con las herramientas 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 usar 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, seleccione las celdas que contienen los datos antes de ejecutarlos.

Antes de trabajar con el código de ejemplo siguiente, siga estos pasos:

  1. Abra un nuevo libro.

  2. En Microsoft Office Excel 2003 o en Microsoft Excel 2002, seleccione Macro en el menú Herramientas y, a continuación, haga clic en Visual Basic Editor. Como alternativa, presione ALT+F11.

    En Microsoft Office Excel 2007, haga clic en la pestaña Desarrollador y, a continuación, haga clic en Visual Basic en el grupo Código . Como alternativa, presione ALT + F11.

    Nota:

    Para mostrar la pestaña Desarrollador en la cinta de opciones, haga clic en el botón Microsoft Office, en Opciones de Excel, en la categoríaPopular , haga clic para seleccionar la pestaña Mostrar desarrollador 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 del módulo.

    Sub QuoteCommaExport()
       ' Dimension all variables.
       Dim DestFile As String
       Dim FileNum As Integer
       Dim ColumnCount As Long
       Dim RowCount As Long
    
       ' 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 desea exportar y, a continuación, ejecute la subrutina QuoteCommaExport.