[TextEdit]行番号を入れる
AppleScript サンプルコード
set strDelimiters to ":"
##タブ区切りにする場合は
#"set strDelimiters to "\t"
####テキストエディット
tell application "TextEdit"
activate
###ドキュメント数を数えて
set numCntDocument to (count of every document) as number
###文書数が0なら書類なしなので停止
if numCntDocument is 0 then
return
log "ファイルを開いてください"
end if
end tell
tell application "TextEdit"
###ドキュメント
tell front document
###行毎に格納
set listParagraph to every paragraph
###行数を数える
set numCntParagraph to count of listParagraph
end tell
end tell
###行数初期値
set numCntLineNo to 0
###行毎に処理
repeat with objParagraph in listParagraph
###カウントアップ
set numCntLineNo to numCntLineNo + 1 as number
##行番号を
set strCntLineNo to doZeroPadress(numCntLineNo, numCntParagraph) as text
###
tell application "TextEdit"
###フロントドキュメントの
tell front document
###行番号部の定義
set objDistParagraph to strCntLineNo & strDelimiters & objParagraph
###行毎にテキストを戻す
set paragraph numCntLineNo to objDistParagraph
end tell
end tell
end repeat
###doZeroPad(値, 桁数)
on doZeroPadress(numNo, numMaxNo)
####数字をテキストに
set strNo to numNo as text
####桁数を数えて
set numCntNo to length of strNo as number
####最大値も桁数をテキストにしておく
set strMaxNo to numMaxNo as text
####最大値の桁数を数えて
set numCntMaxNo to length of strMaxNo as number
####桁数が同じになるまで繰り返し
repeat while numCntNo < numCntMaxNo
###元数字の前に0を足す
set strNo to ("0" & strNo) as text
###桁数をカウントアップ
set numCntNo to (numCntNo + 1) as text
end repeat
###桁数が最大桁数と同じになった所で0足したテキストを戻す
return strNo
end doZeroPadress
行番号 | ソース |
---|---|
001 | #!/usr/bin/env osascript |
002 | ----+----1----+----2----+-----3----+----4----+----5----+----6----+----7 |
003 | # |
004 | # |
005 | # |
006 | # |
007 | # com.cocolog-nifty.quicktimer.icefloe |
008 | ----+----1----+----2----+-----3----+----4----+----5----+----6----+----7 |
009 | ##自分環境がos12なので2.8にしているだけです |
010 | use AppleScript version "2.8" |
011 | use framework "Foundation" |
012 | use scripting additions |
013 | |
014 | |
015 | set strDelimiters to ":" |
016 | ##タブ区切りにする場合は |
017 | #"set strDelimiters to "\t" |
018 | |
019 | ####テキストエディット |
020 | tell application "TextEdit" |
021 | activate |
022 | ###ドキュメント数を数えて |
023 | set numCntDocument to (count of every document) as number |
024 | ###文書数が0なら書類なしなので停止 |
025 | if numCntDocument is 0 then |
026 | return |
027 | log "ファイルを開いてください" |
028 | end if |
029 | end tell |
030 | |
031 | tell application "TextEdit" |
032 | ###ドキュメント |
033 | tell front document |
034 | ###行毎に格納 |
035 | set listParagraph to every paragraph |
036 | ###行数を数える |
037 | set numCntParagraph to count of listParagraph |
038 | end tell |
039 | end tell |
040 | |
041 | ###行数初期値 |
042 | set numCntLineNo to 0 |
043 | ###行毎に処理 |
044 | repeat with objParagraph in listParagraph |
045 | ###カウントアップ |
046 | set numCntLineNo to numCntLineNo + 1 as number |
047 | ##行番号を |
048 | set strCntLineNo to doZeroPadress(numCntLineNo, numCntParagraph) as text |
049 | ### |
050 | tell application "TextEdit" |
051 | ###フロントドキュメントの |
052 | tell front document |
053 | ###行番号部の定義 |
054 | set objDistParagraph to strCntLineNo & strDelimiters & objParagraph |
055 | ###行毎にテキストを戻す |
056 | set paragraph numCntLineNo to objDistParagraph |
057 | end tell |
058 | end tell |
059 | end repeat |
060 | |
061 | |
062 | |
063 | |
064 | ###doZeroPad(値, 桁数) |
065 | on doZeroPadress(numNo, numMaxNo) |
066 | ####数字をテキストに |
067 | set strNo to numNo as text |
068 | ####桁数を数えて |
069 | set numCntNo to length of strNo as number |
070 | ####最大値も桁数をテキストにしておく |
071 | set strMaxNo to numMaxNo as text |
072 | ####最大値の桁数を数えて |
073 | set numCntMaxNo to length of strMaxNo as number |
074 | ####桁数が同じになるまで繰り返し |
075 | repeat while numCntNo < numCntMaxNo |
076 | ###元数字の前に0を足す |
077 | set strNo to ("0" & strNo) as text |
078 | ###桁数をカウントアップ |
079 | set numCntNo to (numCntNo + 1) as text |
080 | end repeat |
081 | ###桁数が最大桁数と同じになった所で0足したテキストを戻す |
082 | return strNo |
083 | end doZeroPadress |
AppleScriptで生成しました |
| 固定リンク
「TextEdit」カテゴリの記事
- TextEdit基本処理(2024.03.28)
- [com.apple.TextEdit]設定変更(2023.11.21)
- テキストエディタ 初期設定(自分用)(2023.05.15)
- [NSStringEncoding]PlainTextEncodingの番号リスト(2023.05.15)
- HTMLで保存ソース表示用のTEXTファイルも生成する(2023.05.15)
「Text TSV」カテゴリの記事
- ユーザー辞書作成支援スクリプト(追加辞書用テキストも作成するようにした)(2024.10.13)
- TSV2HTML TSVタブ区切りテキストをHTMLテーブルにする(少し修正)(2024.03.28)
- TSV行列入替(2024.03.28)
- TSV2AdobeXML タブ区切りテキストからAdobe Illustratorの変数印字用の『変数ライブラリ』を生成する(1ページに複数面付け版)(2024.03.06)
- TSV2AdobeXML タブ区切りテキストからAdobe Illustratorの変数印字用の『変数ライブラリ』を生成する(2024.03.06)