GAS: Spreadsheetのセルにリンクを設定(RichText方式)
code:main.gs(js)
const cell = range.getCell(1, 1);
const richtext = SpreadsheetApp.newRichTextValue()
.setText(text)
.setLinkUrl(https://<base-url>/${text})
.build();
cell.setRichTextValue(richtext);
セルにセットされているリンクを取得
code:main.gs(js)
const cell = range.getCell(1, 1);
const richtext = cell.getRichTextValue();
const link = richtext.getLinkUrl();
Logger.log(link);
特定範囲のセルの文字がチケット番号ならリンクを設定する
code:main.gs(js)
function link_ticket() {
const sheet = SpreadsheetApp.getActiveSheet();
const base_index = 1;
const max_index = 999;
const range = sheet.getRange(base_index, 5, max_index-base_index+1);
const values = range.getRichTextValues();
for (let ri=base_index; ri<=max_index; ri++) {
const text = richtext.getText();
const link = richtext.getLinkUrl();
if (!link && /^\d{1,4}$/.test(text)) {
Logger.log(set link for ${text});
range.getCell(ri-base_index+1, 1).setRichTextValue(
SpreadsheetApp.newRichTextValue()
.setText(text)
.setLinkUrl(https://<base-url>/${text})
.build()
);
}
}
}
Refs:
RichTextの初期化
RichTextをセルにセット