昱得資訊工作室
麻辣學園
歡迎光臨, 訪客. 請先 登入註冊一個帳號.
您忘了 啟用您的帳號嗎?
2008-08-28, 10:36:22
首頁 說明 登入 註冊 贊助論壇 想當作者?
新聞: 會員注意!!麻辣家族討論區[通用版規],請詳閱!!


+  麻辣家族討論區
|-+  MS Office 系列
| |-+  EXCEL
| | |-+  Excel程式區 (版主: hsieh)
| | | |-+  TXT檔排序顛倒 (Sort Text file)
0 會員 以及 1 訪客 正在閱讀本篇主題. « 上一篇主題 下一篇主題 »
頁: [1] 向下 列印
作者 主題: TXT檔排序顛倒 (Sort Text file)  (閱讀 1064 次)
wkl1234
中學生
*
離線 離線

文章: 40



TXT檔排序顛倒 (Sort Text file)
« 於: 2005-07-05, 13:18:18 »

請問txt檔
例如有5行文字
想將第5行變成第1行
想將第4行變成第2行
想將第3行變成第3行
想將第2行變成第4行
想將第1行變成第5行


不是用在excel內編輯的方式
巨集如何寫呢
« 最後編輯時間: 2005-07-06, 22:00:25 由 leonchou » 已記錄

office努力學習中
leonchou
論壇維護群
*
離線 離線

文章: 1160


Re: txt檔排序顛倒
« 回覆文章 #1 於: 2005-07-06, 01:06:50 »

試試
Sub SortTextFile()
textFile = "D:\test.txt" '要處理的檔
tmpFile1 = "D:\tmp1.txt" '暫存檔1
tmpFile2 = "D:\tmp2.txt" '暫存檔2

'讀入原檔案,加上行號(排序用)並存入暫存檔
Open tmpFile1 For Output As #1
Open textFile For Input As #2
Do
  LinesRead = LinesRead + 1
  Line Input #2, tmpLine
  Print #1, LinesRead; "x"; tmpLine
Loop Until EOF(2)
Close #1
Close #2

'利用DOS指令sort反向排序,存入暫存檔
Shell "sort /r " & tmpFile1 & " /o " & tmpFile2
'偵測直到檔案產生,再繼續後面的動作
While Dir(tmpFile2) = ""
Wend

'將暫存檔去除行號並寫回原檔案
Open textFile For Output As #1
Open tmpFile2 For Input As #2
Do
  Line Input #2, tmpLine
  Print #1, Mid(tmpLine, InStr(tmpLine, "x") + 1)
Loop Until EOF(2)
Close #1
Close #2

'刪除暫存檔
Kill tmpFile1
Kill tmpFile2

End Sub

註:
sort指令是Windows原本就有的DOS指令,用於排序純文字檔。
以上程式是在Windows2000+Excel2000下測試;
若在你的電腦執行有誤,請確認兩件事 --
1. Windows 及 Excel 版本。
2. 你的電腦裡有 sort.exe 這個執行檔。
已記錄

wkl1234
中學生
*
離線 離線

文章: 40



Re: txt檔排序顛倒
« 回覆文章 #2 於: 2005-07-06, 20:12:37 »

感謝解答

經測試可用
這是使用flashget 下載資料後
發現複製下載的網址順序會變顛倒
有大大的程式可方便一些
改天試試vb看看,不過我還沒灌
已記錄

office努力學習中
頁: [1] 向上 列印 
« 上一篇主題 下一篇主題 »
跳到:  


本頁花了 0.093 秒, 以及 20 次的資料庫查詢.