Guardar archivo Txt unicode formato UTF8





En post anteriores se ha  mostrado varios ejemplos de macros sobre como crear y guardar archivos, en esta presentación se presenta la una macro en VBA que guarda un archivo TXT, con una codificación Unicode y formato UTF8. 

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.


  

A lo mejor en estos momentos te estarás preguntando que es UTF8, bien te voy a explicar que es esta codificación; UTF8 (8 Bit Unicode Transformation Format) es un formato de codificación de caracteres Unicode e ISO 10646 utilizando símbolos de longitud variable.

UTF-8 fue crado por Robert C. Pike y Kenneth L. Thompson; esta definido como estándar por la RFC 3629 de la Internet Engineering Task Force (IETF). Actualmente es una de las tres posibliidades de codificación reconocidas por Unicode y lengujes web, o cuatro en ISO 10646.

Sus características principales son:


  • Es capaz de representar cualquier carácter Unicode.
  • Usa símbolos de longitud varialbe (de 1 a 4 bytes por carácter Unicode).
  • Incluye la especificación US-ASCII de 7 bits, por lo que cualquier mensaje ASCII se representa sin cambios.
  • Incluye sincronía. Es posible determinar el inicio de cada símbolo sin reiniciar la lectura desde le principio de la comunicación.
  • No superposición. Los conjuntos de valores que puede tomar cada byte de un carácter multibyte, son disjuntos, por lo que no es posible confundirlos entre sí.


En el presente ejemplo de macro o código de VBA se muestra como guardar un archivo txt, pero en codicación unicode y formato RTF8; la macro primero solicita que el usuario determine donde se guardará el archivo o fichero; posterior a eso a agrega un nuevo libro de excel y le guarda con un nómbre específico.

Una vez terminado lo expresado en el párrrafo anterior la macro crea un archivo o fichero TXT y le da el formato o codificación UTF8.

Desde el link del final podrás  bajar el archivo de ejemplo y adaptarlo a tus necesidades, el código se encuentra abierto y sin ningún tipo de restricción para su adaptación; resumiendo con este código podrás crear un archivo TXT unicode con codificación UTF8.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.









Código que se inserta en un módulo

Sub savetxtunicode()
Dim path, path1, path2 As String
Dim cwb As Workbook
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each cwb In Workbooks
If cwb.Name <> ThisWorkbook.Name Then
   cwb.Close SaveChanges:=False
End If
Next cwb

path = CreateObject("shell.application").browseforfolder(0, "Seleccione Carpeta donde se guardará el fichero", 0).Items.Item.path
 If path = "" Then
 MsgBox "No has seleccionado ningún directorio, selecciona un directorio .", , "AVISO"
 Exit Sub
 End If

path1 = path & "\prueba0123456789.xlsx"
path2 = path & "\prueba0123456789.txt"
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=path1
    With ActiveWorkbook.WebOptions
        .RelyOnCSS = True
        .OrganizeInFolder = True
        .UseLongFileNames = True
        .DownloadComponents = False
        .RelyOnVML = False
        .AllowPNG = True
        .ScreenSize = msoScreenSize1024x768
        .PixelsPerInch = 96
        .Encoding = msoEncodingUTF8
    End With
    With Application.DefaultWebOptions
        .SaveHiddenData = True
        .LoadPictures = True
        .UpdateLinksOnSave = True
        .CheckIfOfficeIsHTMLEditor = True
        .AlwaysSaveInDefaultEncoding = False
        .SaveNewWebPagesAsWebArchives = True
    End With
ActiveWorkbook.SaveAs Filename:=path2, FileFormat:=xlUnicodeText, CreateBackup:=False
ActiveWorkbook.Close
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub


Otros post de utilidad:



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.



If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends