GASでスプレッドシートのセル内のリンクを文字とURLに分けて取り出す

スプレッドシート内のハイパーリンクを文字列とURLに分けます。
2行目:ハイパーリンクのみ
3行目:文字数固定+ハイパーリンク
ではうまくいきましたが、文字列が固定でない場合(4行目)は
どうしたら良いでしょうか。
getTextStyle を使う場合、ハイパーリンクでなくただの下線の場合と
区別がつきません。 getRun が使えそうな気がしますが分かりません。
よろしくお願いします。

GAS

1function test(){ 2 const ss = SpreadsheetApp.getActiveSpreadsheet(); 3 const sheet = ss.getSheetByName("シート"); 4 5 let mojiretsu = sheet.getRange("A2").getRichTextValue().getText(); 6 sheet.getRange("B2").setValue(mojiretsu); 7 let strUrl = sheet.getRange("A2").getRichTextValue().getLinkUrl(); 8 sheet.getRange("C2").setValue(strUrl); 9 10 mojiretsu = sheet.getRange("A3").getRichTextValue().getText(); 11 sheet.getRange("B3").setValue(mojiretsu); 12 strUrl = sheet.getRange("A3").getRichTextValue().getLinkUrl(7,8); 13 sheet.getRange("C3").setValue(strUrl); 14 15 mojiretsu = sheet.getRange("A4").getRichTextValue().getText(); 16 console.log(mojiretsu.length) 17 for(let cnt=0; cnt<mojiretsu.length; cnt++){ 18 console.log(sheet.getRange("A4").getRichTextValue().getTextStyle(cnt, cnt+1).isUnderline()); 19 } 20 console.log(sheet.getRange("A4").getRichTextValue().getRuns()); 21}

イメージ説明

コメントを投稿

0 コメント