Macro para guardar datos como archivo delimitado por tabuladores sin comillas

Seleccione idioma Seleccione idioma
Id. de artículo: 104997 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En Microsoft Excel, para guardar una selección de datos como un archivo de texto delimitado por tabulaciones, seleccione el formato de archivo de texto en el cuadro Guardar como tipo en el cuadro de diálogo Guardar como. Cuando guarda un archivo en este formato, si alguna de las celdas de la hoja de cálculo contiene comas, entre comillas u otros caracteres que se podrían interpretar incorrectamente cuando vuelva a abrir el archivo, Microsoft Excel encierra entre comillas los valores.

Si desea crear un archivo de texto delimitado por tabuladores y desea que estas comillas adicionales que se va a agregar, debe utilizar una macro para guardar los datos en un archivo de texto.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan 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 que cumplan sus requisitos específicos. Para crear un archivo de texto delimitado por tabuladores sin incluir las cadenas de texto entre comillas, utilice el método apropiado para su versión de Excel.

Microsoft Excel 97

  1. En un nuevo libro de Microsoft Excel 97, inserte una hoja de macro siguiendo estos pasos:

          a.  Right-click a sheet tab and then click Insert.
          b.  In the Insert dialog box, click to select MS Excel 4.0 Macro
          c.  Click OK.
  2. Haga clic en la ficha de hoja de macro y escriba lo siguiente:

          A1: TextFile Macro
          A2: =SET.NAME("nextcol",0)
          A3: getname=FOPEN(INPUT("Filename:",2),3)
          A4: =SET.NAME("colcount",COLUMNS(SELECTION()))
          A5: =FOR.CELL("current",SELECTION())
          A6: =IF(AND(ISNUMBER(current),GET.CELL(7,current)<>"General"))
          A7: =FWRITE(getname,TEXT(current,GET.CELL(7,current)))
          A8: =ELSE()
          A9: =FWRITE(getname,current)
          A10: =END.IF()
          A11: =SET.NAME("nextcol",nextcol+1)
          A12: =IF(nextcol=colcount)
          A13: =FWRITE(getname,CHAR(13)&CHAR(10))
          A14: =SET.NAME("nextcol",0)
          A15: =ELSE()
          A16: =FWRITE(getname,CHAR(9))
          A17: =END.IF()
          A18: =NEXT()
          A19: =FCLOSE(getname)
          A20: =RETURN()
  3. Seleccione la celda A1, en la hoja de macros.
  4. En el menú Insertar, seleccione Nombre y haga clic en Definir. Haga clic en la Macro TextFile para que el título aparece en el cuadro "Nombres en el libro".
  5. En el cuadro "Se refiere a", compruebe que la dirección de la macro es:

    = macrosheetname! $ a $ 1
  6. En macros, haga clic en comandos y, a continuación, haga clic en Aceptar.
  7. Cambie a la hoja que contiene el rango que desea exportar y seleccione dicho intervalo.
  8. En el menú macro, haga clic en ejecutar. En el cuadro de diálogo macro, seleccione la macro TextFile y haga clic en Aceptar.
Un cuadro de diálogo le pedirá un nombre de archivo, y se escribirá el archivo con ese nombre. Nombre debe incluir la extensión de nombre de archivo si es necesario.

Advertencia: Se sobrescribirán los archivos existentes con el mismo nombre por el nuevo archivo de texto.



Microsoft Excel versión 4.0a y anterior

  1. En una nueva hoja de macro, escriba lo siguiente:

          A1: TextFile Macro
          A2: =SET.NAME("nextcol",0)
          A3: getname=FOPEN(INPUT("Filename:",2),3)
          A4: =SET.NAME("colcount",COLUMNS(SELECTION()))
          A5: =FOR.CELL("current",SELECTION())
          A6: =IF(AND(ISNUMBER(current),GET.CELL(7,current)<>"General"))
          A7: =FWRITE(getname,TEXT(current,GET.CELL(7,current)))
          A8: =ELSE()
          A9: =FWRITE(getname,current)
          A10: =END.IF()
          A11: =SET.NAME("nextcol",nextcol+1)
          A12: =IF(nextcol=colcount)
          A13: =FWRITE(getname,CHAR(13)&CHAR(10))
          A14: =SET.NAME("nextcol",0)
          A15: =ELSE()
          A16: =FWRITE(getname,CHAR(9))
          A17: =END.IF()
          A18: =NEXT()
          A19: =FCLOSE(getname)
          A20: =RETURN()
  2. Seleccione la celda A1.
  3. En el menú fórmula, elija el comando Definir nombre. Compruebe que Macro TextFile aparece en el cuadro Nombre, y A1 aparece en el cuadro se refiere A.
  4. En tipo, seleccione el comando y haga clic en Aceptar.
  5. Cambie a la hoja que contiene el rango que desea exportar y seleccione dicho intervalo.
  6. En el menú macro, haga clic en ejecutar. En el cuadro de diálogo macro, haga clic en la macro TextFile y haga clic en Aceptar.
Un cuadro de diálogo le pedirá un nombre de archivo, y se escribirá el archivo con ese nombre.

Advertencia: Se sobrescribirán los archivos existentes con el mismo nombre por el nuevo archivo de texto.

Explicación de macro

   A1: Macro name.
   A2: Initialize a variable "nextcol" equal to zero.
   A3: Open a sequential file for write access using user-provided name
       stored in "getname".
   A4: Initialize a variable "colcount" to number of columns in the
       selected range.
   A5: Begin a FOR.CELL loop through the selected range.
   A6: Check to see if current cell contains a number not formatted to
       General.
   A7: If the current cell meets above criteria, write current cell
       contents to file with formatting.
   A8: Otherwise
   A9: Write current cell contents to file without formatting.
   A10: End If clause.
   A11: Increment "nextcol".
   A12: Check to see if end of current row in selection.
   A13: Write return and line feed to file.
   A14: Reset "nextcol" to zero.
   A15: Otherwise
   A16: Write a tab character to file.
   A17: End If clause.
   A18: Go to next loop iteration.
   A19: Close file on completion.
   A20: End macro.
				

Propiedades

Id. de artículo: 104997 - Última revisión: jueves, 23 de junio de 2005 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Excel 97 Standard Edition
Palabras clave: 
kbmt kbmacro kbprb kbprogramming KB104997 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 104997
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com