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

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

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

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

Google Apps Script

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

解決済

GAS URL作成時に複数の行の情報を入れる方法

ribonyarou
ribonyarou

総合スコア1

Google スプレッドシート

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

Google Apps Script

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

1回答

0評価

0クリップ

284閲覧

投稿2022/06/28 01:31

自力で調べていますが手詰まりしておりまして、もし分かる方がいらっしゃいましたらご教授お願いします。

〔質問タイトル〕
GoogleスプレッドシートでURLを作成時に複数の行情報を入れる方法

〔相談内容〕
備品管理用のGoogleスプレッドシートが公開されておりましたのが、少し改良して使いたいと考えております。

追加したい点は、読み込み時に更に情報を載せたQRを作成したいと考えています。
おそらく /"&$B$1&"/ の部分がQR(URAL作成)に反映されていると思いますが…
更にH行の購入金額やJ行の備考等が含まれたURLの作成が出来ればと思っています。

どうぞ、宜しくお願い申し上げます。

〔コード〕
function bihinlabel(){
var sht = SpreadsheetApp.getActive().getSheetByName('固定資産');
var lastRow = sht.getLastRow();
for (var i=3; i<=lastRow; i++) {
sht.getRange(i, 3).clear();
sht.getRange(i, 4).clear();
var qrc1 = '="https://script.google.com/macros/s/\"&$B$1&\"/exec?no=\"&A' + i;
var qrc2 = '=image("https://chart.apis.google.com/chart?chs=250x250&cht=qr&chl=\"&C' + i +')';
sht.getRange(i, 3).setValue(qrc1);
sht.getRange(i, 4).setValue(qrc2);
}

イメージ説明

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

k_code

2022/06/28 06:33

どういった点で不明なのでしょうか? エラーなのでしょうか?(出ないとは思いますが)はたまた何かが足りないのでしょうか? このコードに関しては、スプレッドシートに追記する必要があるのかどうかもわかりません。 意図等いただければ力添えできるかもしれませんので、返信よろしくお願いします。
ribonyarou

2022/06/28 07:00

k_codes様 ご返答ありがとうございます。 はい。仰る通り、上記で実行した場合、エラーは出ません。 ここから改良したく考えております。 現状このGASを実行しますと、B行(備品名)の情報のみ持ったURL(+QRコード)が発行される仕組みとなっておりまして、それに他の行(Gの型番やJの備考)の情報も加えてURL(+QR)の発行が出来ればと模索しております。 稚拙な説明で申し訳ありません。ご助力いただけると幸いです。
k_code

2022/06/28 07:15

追加で質問させていただきます。 間違っているかもしれませんが、現在ちらっと見えている 7行目にて使用されている変数qrc1についてですが、 どういったスクリプトを組まれているのでしょうか? 情報が少なく、どうしても憶測でしか話ができませんが、何か別のサイト(GASにて作成された)にて備品等のものを確認するものなのでしょうか? できればで構わないのですが、参考にされたURL等貼っていただけると幸いです。
k_code

2022/06/29 00:13 編集

返信が遅くなり申し訳ありません。 結論から申し上げますと、このコードに関しては作成あるいは修正が必要ないかと思われます。 実際私もテストしてみたのですが、必要なのはこのコードではなく、もう一つのスクリプト でhtmlに関して記載のある[doGet]で始まるスクリプトの修正が必要かと思います。(挙げていただいた動画で作成されていられるのでしたら『デプロイ』をしたものかと) これに関しましては以下のURLを参照していただければと思います。 https://tonari-it.com/gas-url-doget-parameter/
ribonyarou

2022/06/29 00:58

k_code様 お世話になります。 とんでもないでざいません、無知な私にご返信くださるだけでも感謝申し上げます。 確かに、別のスプリクト(下記コード)にdoGet関数がありました。 頂きました、情報を参考に勉強させていただきます。 function doGet(e) { var no = e.parameter.no; var datetime = new Date(); var today = Utilities.formatDate(datetime,'JST', 'yyyy/MM/dd'); var userid = Session.getActiveUser().getEmail(); var sht = SpreadsheetApp.getActive().getSheetByName('固定資産'); var lastRow = sht.getLastRow(); const values = sht.getRange(3, 1, lastRow - 2).getValues().flat(); var r = values.indexOf(no) + 3; sht.getRange(r, 5).setValue(datetime); sht.getRange(r, 6).setValue(userid); return ContentService.createTextOutput(today + "\n" + sht.getRange(r, 2).getValue() + "\n" + userid); }
k_code

2022/06/29 02:36

最後にもう一点だけ質問させていただいて、回答に移りたいと思うんですが、必要なデータはどれでしょうか? 質問の通りH列J列だけを追加ですか?
ribonyarou

2022/06/29 02:48

k_code様 お忙しい中、ご質問ありがとうございます。 QRを読み込んだ時に表示したい行はA行の備品code・B行の備品名・G行の型番となります。 ※現在はB行の備品名のみが表示されます(+日付と読み取り者のID)

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Google スプレッドシート

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

Google Apps Script

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