1

我有一个要求,我不确定如何去做。我有一个文件 Doc.xml,它是 Microsoft XML 格式。我需要创建一个 VB 脚本,它将 Doc.xml 更改/转换为 Doc.xlsx,因此当用户尝试打开该文件时,它将作为 Excel 文件打开。

要求之一是该脚本将从 Windows 调度程序运行。

任何想法或建议将不胜感激。

这是我创建并且正在运行的脚本,但是当我尝试将 SaveAs 扩展名更改为“.csv”时,文件未正确保存。我想我需要找出保存在 CSV 中的代码是什么。

Dim objXLApp, objXLWb, objXLWs

Set objXLApp = CreateObject("Excel.Application")

objXLApp.Visible = True

Set objXLWb = objXLApp.Workbooks.Open("C:\Users\jmejia\Desktop\XML_F\ZOOSHR_130622.xml")

'Do nothing with File, just open it to be save agains as a new file format

objXLWb.SaveAs "C:\Users\jmejia\Desktop\XML_F\ZOOSHR_130622.xlsx", 51

objXLWb.Close (False)

Set objXLWs = Nothing
Set objXLWb = Nothing

objXLApp.Quit
Set objXLApp = Nothing
4

2 回答 2

1

如果您的文件是从 Excel > 2006 创建和导出的?然后它将在其中包含标签,以便在具有任何支持 xml 格式的 Excel 的 Windows 机器上双击资源管理器将自动在 Excel 中打开它。

您的文件可能以以下内容开头:

<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:html="http://www.w3.org/TR/REC-html40">
 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
于 2013-07-01T18:56:25.153 回答
0
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
于 2014-12-17T12:27:18.913 回答