Macro para guardar datos como archivo delimitado por tabuladores sin comillas

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
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
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.				
4.00a XL

Propiedades

Id. de artículo: 104997 - Última revisión: 12/04/2015 09:45:26 - Revisión: 3.0

Microsoft Excel 97 Standard Edition

  • kbnosurvey kbarchive kbmt kbmacro kbprb kbprogramming KB104997 KbMtes
Comentarios