GASのdocsで太字を#で囲うプログラムを作成したいです。別の質問で太字を抽出することには成功しましたが、#で囲う方法で行き詰っています。
太字の始まりと終わりが何文字目かは把握できているので、#を挿入したいです。パラグラフに挿入するものは見つかるのですが、テキストの何文字目に挿入するとかいう情報は見つかりません。
ポジションオブジェクト.insetTextでできるという情報もありましたが、ポジションオブジェクトの定義がわからないです。別の方法でカーソル位置に文字を挿入することはできるらしいので、x文字目にカーソルを移動するという方法も探しています。どちらかわかる方いましたらご教示お願いします。
GAS
1function getBoldWords() { 2 const body = DocumentApp.getActiveDocument().getBody(); 3 4 const text = body.editAsText(); 5 const plainText = text.getText(); 6 7 let start = 0; 8 let count = 0; 9 const boldWords = []; 10 11 for(i=0; i<plainText.length; i++){ 12 //前の文字が太字ではない時 13 if(count == 0){ 14 //太字ならそこを単語の開始位置とする 15 if(text.isBold(i)){ 16 start =i; 17 count++; 18 } 19 //前の文字が太字の時 20 }else{ 21 //太字が続く場合はcountをプラス 22 if(text.isBold(i)){ 23 count++; 24 //太字が終わったら出力して、リセット 25 }else{ 26 boldWords.push(plainText.slice(start,start+count)); 27 28 start,count =0; 29 } 30 } 31 } 32 console.log(boldWords); 33}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/02 12:17