2013-08-27 40 views
0

與我以前的問題一樣,如果我使用的是VBA,這將非常簡單,但我必須爲此使用VBScript。我知道如何導入使用OpenText的一個txt文件,像這樣:使用VBScript在Excel 2003中分隔txt文件:錯誤

objExcel.WorkBooks.OpenText "path\xxxx.txt" 

也能正常工作,但文本不會自動投入列在Excel。所以我假設我需要指定分隔符。

但是,嘗試向該方法添加選項時出現錯誤。例如

objExcel.WorkBooks.OpenText "path\xxxx.txt", , , xlDelimited, , , , , , True, " " 

給我一個錯誤,說「工作簿類的OpenText方法失敗」,代碼800A03EC。我究竟做錯了什麼?我見過其他人使用這種方法。關於如何格式化我的txt文件沒有什麼特別之處,它只是文本。

感謝您的任何幫助。

回答

1

VBScript不承認VBA命名常量。如果你想在你的代碼中使用xlDelimited,您必須在腳本中定義的常量:

Const xlDelimited = 1 

否則,你將不得不使用文字值作爲chris neilsen指出。

另一個問題是您的方法調用中的參數是錯誤的類型。該參數必須是一個布爾值,指示您是否要使用不同的分隔符。它的參數#12,你居然指定定製的分隔符,所以你需要更改線路

objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , True, " " 

objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , , True, " " 

,使其工作。

當然,如果你想導入空間分隔的文本,你可以只設置參數#9 True而不指定OtherChar值:

objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , True 

進一步的詳情請參見documentation

+0

這樣做的伎倆,謝謝! – vicjun

2

VBScript沒有命名常量。

使用

objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , True, " " 
+0

對不起,但沒有奏效。也許我錯過了別的東西? – vicjun

相關問題