2014-09-25 51 views
0

我有一個文本文件,每個記錄都有一個數據值,我必須生成一個文本文件,該文件應該包含每個原始記錄和具有數據值符號的新記錄。與記錄輸入文件看起來像這樣(管道分隔符,數據值始終是第5場):使用vb腳本修改文本文件

abc|xyz|a|ab_1|100 
abs|pqr|d|ab3|-200 

輸出應該是:

abc|xyz|a|ab_1|100 
abc|xyz|a|ab_1|-100 
abs|pqr|d|ab3|-200 
abs|pqr|d|ab3|+200 
+1

它有多緊急?還有其他要求嗎?它必須是VBScript還是我們可以爲您提供其他語言的解決方案? – 2014-09-25 12:59:30

+0

嗨..感謝您的回覆。我只能使用VB腳本。我有這個想法,並希望我能夠開發代碼,如果不是,我會回到這裏尋求幫助:)。此外,我需要根據文件內的某個字段對輸出文件進行排序。這怎麼能實現(僅使用VB)。感謝您的幫助和時間 – Sharma 2014-09-25 15:55:57

+0

感謝@bond nd horner ...我開發了最初的代碼..雖然仍然需要檢查執行情況。希望它會起作用。你也可以提供vbs(僅VB)代碼將.txt文件轉換爲.csv .txt文件,可以用空格分隔或用逗號分隔 – Sharma 2014-09-27 10:23:04

回答

1

一個計劃:

  1. .OpenTextFile()輸入
  2. .CreateTextFile輸出
  3. 直到輸入.AtEndOfStream
  4. ---- .ReadLine從輸入和.WriteLine輸出
  5. ---- .Split on |到5元素陣列
  6. ---- CInt()elm 4並與-1相乘
  7. ----將數組加入|
  8. ---- .WriteLine輸出
  9. 關閉這兩個文件

使用docs查找類似CINT()和斯普利特()和對象功能,如FileSystemObject的和文本流和他們的方法的OpenTextFile() .ReadLine(),...

+0

好計劃。並注意@Sharma,第4到第8步在你的閱讀循環內(在步驟3中創建)。在完成整個文件的讀取之後,第9步在循環之外。 – Bond 2014-09-25 13:27:09

+0

@Bond - 感謝讓我看到缺失的燈/空間 – 2014-09-25 13:30:29

+0

@bond嗨,我能夠執行大部分任務。現在麻煩的是如何將變量中的值轉換爲浮點數並將其與-1相乘。我嘗試了CInt但仍然給它類型不匹配的錯誤..很好的幫助。視爲 – Sharma 2014-09-28 17:03:09