tabla para online hacer guardar datos cómo convertir complemento como archivo excel

para - convertir tabla de datos en excel a un archivo xml



¿Cómo automatizar la conversión de archivos Excel xls a formato Excel xml? (6)

Ábrelos todos, y luego presione ALT + F11 para ir al editor de macros y escriba algo como:

Sub SaveAllAsXml() Dim wbk As Workbook For Each wbk In Application.Workbooks wbk.SaveAs FileFormat:=XlFileFormat.xlXMLSpreadsheet Next End Sub

Y luego presione F5 para ejecutarlo. Puede necesitar algunos ajustes ya que no lo he probado.

Tengo alrededor de 200 archivos de Excel que están en formato estándar de Excel 2003.

Los necesito todos para guardarlos como Excel xml, básicamente lo mismo que abrir cada archivo y elegir Guardar como ... y luego elegir Guardar como tipo: Hoja de cálculo XML

¿Conoces alguna forma simple de automatizar esa tarea?


Aquí hay una rutina que convertirá todos los archivos en un solo directorio que tenga una extensión .xls.

Se necesita un enfoque directo. Se elimina cualquier código de VBA en un libro de trabajo, el libro de trabajo no se guarda con una extensión .xlsm. Las advertencias de incompatibilidad no se desvían, sino que los cambios se aceptan automáticamente.

Sub Convert_xls_Files() Dim strFile As String Dim strPath As String With Application .EnableEvents = False .DisplayAlerts = False .ScreenUpdating = False End With ''Turn off events, alerts & screen updating strPath = "C:/temp/excel/" strFile = Dir(strPath & "*.xls") ''Change the path as required Do While strFile <> "" Workbooks.Open (strPath & strFile) strFile = Mid(strFile, 1, Len(strFile) - 4) & ".xlsx" ActiveWorkbook.SaveAs Filename:=strPath & strFile, FileFormat:=xlOpenXMLWorkbook ActiveWorkbook.Close True strFile = Dir Loop ''Opens the Workbook, set the file name, save in new format and close workbook With Application .EnableEvents = True .DisplayAlerts = True .ScreenUpdating = True End With ''Turn on events, alerts & screen updating End Sub


La forma más simple es registrar macro para un archivo y luego editar macros manualmente para realizar tales acciones para los archivos en la carpeta usando loop. En macro puede usar las funciones estándar de VB para obtener todos los archivos en el directorio y filtrarlos. Puede mirar http://www.xtremevbtalk.com/archive/index.php/t-247211.html para obtener información adicional.



Suena como un trabajo para mi lenguaje favorito más subestimado de todos los tiempos: ¡VBScript!

Ponlo en un archivo de texto y crea la extensión ".vbs":

set xlapp = CreateObject("Excel.Application") set fso = CreateObject("scripting.filesystemobject") set myfolder = fso.GetFolder("YOURFOLDERPATHHERE") set myfiles = myfolder.Files for each f in myfiles set mybook = xlapp.Workbooks.Open(f.Path) mybook.SaveAs f.Name & ".xml", 47 mybook.Close next

No lo he probado, pero debería funcionar


Const xlXLSX = 51 REM 51 = xlOpenXMLWorkbook (without macro''s in 2007-2013, xlsx) REM 52 = xlOpenXMLWorkbookMacroEnabled (with or without macro''s in 2007-2013, xlsm) REM 50 = xlExcel12 (Excel Binary Workbook in 2007-2013 with or without macro''s, xlsb) REM 56 = xlExcel8 (97-2003 format in Excel 2007-2013, xls) dim args dim file dim sFile set args=wscript.arguments dim wshell Set wshell = CreateObject("WScript.Shell") Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open( wshell.CurrentDirectory&"/"&args(0)) objExcel.DisplayAlerts = FALSE objExcel.Visible = FALSE objWorkbook.SaveAs wshell.CurrentDirectory&"/"&args(1), xlXLSX objExcel.Quit Wscript.Quit