複数セルのイタリックを太字に変更したいです。
書式の変更と、複数セルを配列で扱う方法が分からず、困っています。
変更範囲のセルの文字は株式会社とアルファベットになっていて、
アルファベットをイタリックから太字に変えます。
セルの数が多く、getRichTextValues・setRichTextValuesを使えればと思っています。
どうぞよろしくお願いします。
GAS
1function italyText() { 2 const file = SpreadsheetApp.getActiveSpreadsheet(); 3 const sheet = file.getSheetByName("RichText"); 4 const range = sheet.getRange(2,1,sheet.getLastRow()); 5 const richTextValues = range.getRichTextValues(); 6 const hairetsu = []; 7 for (let row=2; row<richTextValues.length; row++) { 8 const rtv = richTextValues[row][0]; 9 // 既存のスタイルから RichTextValueBuilder を作成 10 const builder = rtv.copy(); 11 // 書式部分ごとにループ処理 12 for (const run of rtv.getRuns()) { 13 if (run.getTextStyle().isItalic()) { 14 run.getTextStyle().isItalic(false); 15 run.getTextStyle().isBold(true); 16 const newStyle = run.getTextStyle().build(); 17 // 現在の書式部分に対して新しい TextStyle を設定 18 const startOffset = run.getStartIndex(); 19 const endOffset = run.getEndIndex(); 20 builder.setTextStyle(startOffset, endOffset, newStyle); 21 } 22 } 23 hairetsu.push([builder.build()]) 24 } 25 range.setRichTextValues(hairetsu); 26}

あなたの回答
tips
プレビュー