2016-04-08 16 views
0
Dim app, fso, file, fName, wb, dir 

dir = "D:\TA" 

dirsave = "D:\TA\XLS" 

Set app = CreateObject("Excel.Application") 
Set fso = CreateObject("Scripting.FileSystemObject") 

For Each file In fso.GetFolder(dir).Files 
    If LCase(fso.GetExtensionName(file)) = "csv" Then 
    fName = fso.GetBaseName(file) 

    Set wb = app.Workbooks.Open(file) 
    app.Application.Visible = True 
    app.Application.DisplayAlerts = False 
    app.ActiveWorkbook.SaveAs dirsave & fName & ".xls", 43 
    app.ActiveWorkbook.Close 
    app.Application.DisplayAlerts = True 
    app.Application.Quit 

    End if 
Next 

Set fso = Nothing 
Set wb = Nothing  
Set app = Nothing 

wScript.Quit 

を失敗した私は、CSVファイルを開くと、XLSファイルとして保存するVBスクリプトの上に使用していますが、それは誤りエラー:ブックのクラスのSaveAsメソッドは

エラーがスローされます。ワークブッククラスのSaveAsメソッドは失敗しました。

どうすれば修正できますか? ありがとうございます

答えて

0

スクリプトに「\」がないようです。それはおそらく次のようになります。

dirsave = "D:\TA\XLS\" 

または代わりに、それはまた、次のようになります。

app.ActiveWorkbook.SaveAs dirsave & "\" & fName & ".xls", 43 

どちらのオプションが動作するはずです、それは私がそれをした

+0

すっきりあるように私には、オプション1を好むだろうが、しかし、それは@Clauricの問題を解決していない – nnnnmmm

関連する問題