前一陣子在研究如何在 textarea
中刪除目前所在列的功能時,找到利用 document.selection
來取得目前選取的文字的方法,所以才想進一步完成這個重新編號的功能。
其實平時在打報告時倒不見得很常會需要重新編號,但需要的時候,第一點、第二點⋯⋯這樣一路打下來也是蠻花心力的,最常運用到的時機大概是跟賴主任打報告的時候吧,每次整理完 findings 要 copy & past 到 conclusions 時,總是得多做一個編號的動作,能省的時間當然要省囉,積少成多嘛!
功能示範
運作的方式大概是:
- 算出目前選取的範圍行數
- 擴充選取範圍至整行
- 用 Regular Expression 的方式將內容替換掉
目前 code 放在 GitHub 未來應該還會做一些修改。
奇怪的 Hack
在 AutoHotKey 中 Array 的用法有點詭異,Array0 表示個數,Array[1…] 代表的各個項目,但利用像是 StringSplit
1 output 出來的 Array,似乎不會把 Array[1…] 這些項目清掉,導致重複執行這個 script 時,會用到錯誤的資料,因此在跑這個 function 前,都必須先手動把這些變數 reset。
可以加強的部分
因為目前 SmartWonder 系統只能限定在舊版 IE(或相容性模式)下運行,所以還可以用已經被 IE 10 後續版本廢棄的 document.selection
,理論上如果要能在後續版本中使用,應該要同時併用 window.getSelection
2,反正沒有急迫性,先暫時不動。^^a
單一檔案版本
因為許多 AutoHotKey Script 間都互有相依關係,如果只對這個功能有興趣的,可以使用下列版本,裡面包含會用到的相關函數
沙魯
2014/05/29(跪)
蔡 依達
2014/05/29你們科也是用 SmartWonder 在打報告嗎?其實這個在敝科的接受度不怎麼高,大家看到要額外用 AutoHotKey 就沒興趣了。