Created
January 12, 2023 15:35
-
-
Save Tomokatsu-Sakamoto/361524ab1237a245882a2a327c545825 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; // 変数の宣言を強要する | |
/** @OnlyCurrentDoc */ // 他のファイルにはアクセスしない | |
function onOpen() { | |
SpreadsheetApp.getUi() | |
.createMenu('追加メニュー') | |
.addItem('フォーム URL の生成', 'addFormURL') | |
.addToUi(); | |
} | |
/*** | |
* カーソルのある行の内容をもとにして、「アクティビティレポート」への報告用のリンクを生成する。 | |
*/ | |
function addFormURL() { | |
let sheet = SpreadsheetApp.getActiveSheet(); // 現在開いているスプレッドシート | |
let row = sheet.getActiveRange().getRow(); | |
let column = sheet.getActiveRange().getColumn(); | |
console.log("Active : " + row + "," + column); | |
if (row != 1) { // 先頭行でなければ処理する | |
const ra1 = sheet.getRange(row, 1).getValue(); // ラジオ1 | |
const ra2 = sheet.getRange(row, 2).getValue(); // ラジオ2 | |
const ra3 = sheet.getRange(row, 3).getValue(); // ラジオ3 | |
const ch1 = sheet.getRange(row, 4).getValue(); // チェック1 | |
const ch2 = sheet.getRange(row, 5).getValue(); // チェック2 | |
const ch3 = sheet.getRange(row, 6).getValue(); // チェック3 | |
const date = sheet.getRange(row, 7).getValue(); // 日付 | |
const str1 = sheet.getRange(row, 8).getValue(); // 日付 | |
const str2 = sheet.getRange(row, 9).getValue(); // 日付 | |
let formatDate = Utilities.formatDate(date, "JST", "yyyy-MM-dd"); | |
// 提供された回答用の URL(ベース) | |
let url = 'https://docs.google.com/forms/d/e/1FAIpQLScrV1ATXWsCkJsJKbBg5LPsmo0O_pFE-v2-pNr2cQBXzoVEjw/viewform'; | |
url += '?usp=pp_url'; | |
/** | |
* ラジオボタン → 74621491 | |
*/ | |
if (ra1 == true) { | |
url += '&entry.74621491=' + encodeURIComponent('ラジオ1'); | |
} | |
else if (ra2 == true) { | |
url += '&entry.74621491=' + encodeURIComponent('ラジオ2'); | |
} | |
else if (ra3 == true) { | |
url += '&entry.74621491=' + encodeURIComponent('ラジオ3'); | |
} | |
/** | |
* チェックボックス → 1879337662 | |
*/ | |
if (ch1 == true) { | |
url += '&entry.1879337662=' + encodeURIComponent('チェック1'); | |
} | |
if (ch2 == true) { | |
url += '&entry.1879337662=' + encodeURIComponent('チェック2'); | |
} | |
if (ch3 == true) { | |
url += '&entry.1879337662=' + encodeURIComponent('チェック3'); | |
} | |
/** | |
* 日付 → 172083090 | |
*/ | |
url += '&entry.172083090=' + formatDate; | |
/** | |
* テキスト1 → 1342888776 | |
*/ | |
url += '&entry.1342888776=' + encodeURIComponent(str1); | |
/** | |
* テキスト2 → 1782925682 | |
*/ | |
url += '&entry.1782925682=' + encodeURIComponent(str2); | |
sheet.getRange(row, 10).setValue(url); | |
sheet.getCurrentCell().offset(1, 0).activate(); // 次の行に移動 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment