2015-06-29 66 views
1

我已經編寫了一個VBA代碼,用於將逗號分隔的數據元素輸出到文本文件,然後將其導入到分離的應用程序中。但是,我堅持如何刪除文本文件中生成的行結束符。
以下是我的數據的一個例子:使用VBA刪除文本文件末尾的逗號

Scenario,Capital,AFE 
Capital Array,Drilling Capex 80/20,Replace, 
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 

Capital Array,Facilities Tangible,Replace, 
0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 

Capital Array,Recompletion 80/20,Replace, 
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 

回答

4

最好的解決辦法是不要在第一位添加尾隨逗號。爲此,您需要修改您沒有向我們顯示的代碼。

或者,如果CSV創建代碼是一個黑盒子,你不想碰,你可以手動刪除最後一個字符的字符串:

myString = "a,b,c,d," 

If Right(myString, 1) = "," Then 
    myString = Left(myString, Len(myString) - 1) 
End If 

' myString is now "a,b,c,d" 
+0

我們張貼在完全相同的第二個,我覺得...但你有更好的格式,所以我會upvote你的。良好的快速工作。 ;-) –

+0

@PaluMacil:事實上,你幾秒鐘快,所以+1也是如此。 ;-) – Heinzi

2

一旦你有你的字符串計算類似上面,用它來刪除最後一個字符:myString = Left(myString, Len(myString) - 1) myString的地方是你的字符串的第名。如果您不知道每次最後一個字符是否爲逗號,請首先使用if語句來檢查Right(1,myString)是否爲逗號。