はじめに
タイトルの通りなのですが、setHyperlinkでドキュメント内のリンクが貼れないケースがあり、原因と解決方法がわかったので記事にします。
リンクが貼れなかったのは、一覧 (3)
というシート名でした。
原因
シート名にスペースや特殊文字が含まれている場合、正しく認識されないみたいです。
解決策
シングルクオーテーションで囲みます。
const targetSheetName = "一覧 (3)";
sheet.getRange("A1").setHyperlink({
documentReference: `'${targetSheetName}'!A1`,
textToDisplay: targetSheetName,
screenTip: targetSheetName,
});