質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

7651閲覧

GASを使い、スプレッドシートに任意テキストに対してリンクを入力したい

wkbiz

総合スコア152

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2022/06/09 15:55

よろしくお願いします。

Googleスプレッドシートの特定のセルにGASを使ってハイパーリンクを入力したいです。

しかし下記のように処理をすると、セルに =hyperlink(~~)の関数式が入ってしまいます。
PCブラウザの場合はいいのですが、スマホだと関数式が見えてしまい不格好です。

sheet.getRange(3,2).setFormula('=hyperlink("https://www.google.co.jp/search?q=","test")');

そこでスプレッドシートのマクロ自動記録を使って何かヒントが無いかと思ってやってました。

// 先にB14セルに URL を記述しておき、スプレッドシートのメニュー⇒挿入/リンクで // 入力済みURLに対してキャプション(テキスト)を設定した操作に対し // スプレッドシートのマクロ自動記録しました var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getRange('B14').activate(); spreadsheet.getCurrentCell().setRichTextValue(SpreadsheetApp.newRichTextValue() .setText('TEST111') .setTextStyle(0, 7, SpreadsheetApp.newTextStyle() .setForegroundColor('#1155cc') .setUnderline(true) .build()) .build());

しかしこのマクロを利用すると、セルに入力していたURLが上記例だと「TEXT111」になるのですが、それは文字の置き換わりでしかなくなりました。

setRichTextValue()関連を探してみたのですが見当たらず、こちらでご存じの方おられたらご教授いただきたく。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

setText() の後に .setLinkUrl('任意のURL') を追加するだけです。

js

1function myFunction2() { 2 var spreadsheet = SpreadsheetApp.getActive(); 3 spreadsheet.getRange('B14').activate(); 4 spreadsheet.getCurrentCell().setRichTextValue(SpreadsheetApp.newRichTextValue() 5 .setText('TEST111') 6 .setLinkUrl('https://www.example.com') 7 .setTextStyle(0, 7, SpreadsheetApp.newTextStyle() 8 .setForegroundColor('#1155cc') 9 .setUnderline(true) 10 .build()) 11 .build()); 12};

注:マクロ操作でリンクの挿入を行っても setLinkUrl 関数は追加されません。これは仕様です。

投稿2022/06/09 22:06

編集2022/06/09 22:10
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wkbiz

2022/06/09 22:55

ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問