2013-07-01 95 views
1

我有要求,我不確定如何去解決這個問題。我有一個Doc.xml文件,這是Microsoft XML格式。我需要創建一個VB腳本來將Doc.xml更改爲Doc.xlsx,因此當用戶嘗試打開文件時,它將以Excel文件的形式打開。將Microsoft XML文件格式轉換爲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 
+1

你嘗試編寫VBScript來加載該文件並保存爲不同的格式。這是一個10行腳本,上衣。至少告訴我們你做了一些努力。 –

回答

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"> 
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