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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

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

Q&A

1回答

11743閲覧

googla apps script(GAS) セル内のリンクを開くコードが検索してもわからない

harapeko

総合スコア13

Google Apps Script

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

0グッド

2クリップ

投稿2019/09/20 01:35

GASについての質問です。

スプレッドシートに、A列全てのセルにリンクが入っているようなシートがあるのですが、そのセル内のリンクを開くようなサンプルコードなどはありますでしょうか。検索能力が低く見つけられず、もしご存知の方いれば教えていただきたいです。

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

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

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

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

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

yamap55

2019/09/20 01:54

「リンクを開く」とはどういう事を言っていますか?ブラウザの別のタブでそのURLを表示するという事ですか? それはどのように使用するイメージなのでしょうか?
harapeko

2019/09/20 01:59

ブラウザの別のタブで開くイメージです。使用イメージでは、設問で述べているA列全てのセルにリンクが入っているようなシート(以下親シート、当方教員でして生徒ごとにあるテストの結果が入っています)の特定の条件を満たすもの(特定の生徒)について絞り込み、F列にまた他のスプレッドシートのリンク(生徒それぞれの1つのテストの設問ごとの採点結果)が入っているため、それらを開き、開いたもの全てを再結合して一つのスプレッドシートに集積するという感じです。
yamap55

2019/09/20 04:06

全然わかりません。まず、スプレッドシートの内容は以下の通りで良いでしょうか? | A列 | ... | F列 | | http://example.com/a |... | https://docs.google.com/spreadsheets/d/xxxx/ | | http://example.com/b |... | https://docs.google.com/spreadsheets/d/yyyy/ | A列に入っているリンクを開くというのが質問という事で良いですよね? この点に関しては回答がありますので後程記載いたします。 ※ブラウザで開きます。 ※このリンクが別のスプレッドシートやシートの場合は別で開くことなくデータの取得は可能です。 で、その後の処理として記載されている「特定の条件を満たすもの(特定の生徒)について絞り込み」これはスプレッドシート上の操作なのでしょうか?(今回の質問で別タブで開いた後は手動で中身を確認して絞り込む?) また、次に行う処理と思われる「F列のスプレッドシートのリンク開いたもの全てを再結合して一つのスプレッドシートに集積する」ここについては、特にブラウザで開く必要はないかと思います。 仮にスプレッドシートAとBがF列にあった場合、それらのデータを元のシートにコピーすればよいのですよね?イメージあってますか?
guest

回答1

0

以下のコードで実現が可能です。
ただ、「質問への追記・修正の依頼」にも記載しましたが、別タブ(window)で開くという事でよいのでしょうか??
※このリンクが別のスプレッドシートやシートの場合は別で開くことなくデータの取得は可能です。

javascript

1function myFunction() { 2 var ss = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId()); 3 var sheet = ss.getSheetByName("シート1"); 4 var lastRow = sheet.getLastRow(); 5 // A列の値を取得 6 var values = sheet.getRange(1, 1, lastRow, 1).getValues(); 7 8 for (var i = 0; i < lastRow; i++) { 9 // A列をループ 10 var url = values[i][0]; 11 var script = "<script>window.open('" + url + "', '_blank').focus()</script>"; 12 var html = HtmlService.createHtmlOutput(script); 13 SpreadsheetApp.getUi().showModalDialog(html, 'Open ' + url); 14 // sleepがないと最後のURLのみ開いてしまいます。 15 Utilities.sleep(1000); 16 } 17}

参考

https://teratail.com/questions/164151

投稿2019/09/20 04:17

yamap55

総合スコア1376

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問