Slide 1

Slide 1 text

My GAS Tips Gunma.web #44

Slide 2

Slide 2 text

@noviiro • ߴ࡚ࡏॅ7೥ • ࣾ಺SEʢGAS, AzureʣʢRPA΋࢝ΊΔ༧ఆʣ • Wordleָ͍͠ʂ

Slide 3

Slide 3 text

My GAS Tips • Google Forms x = ؆୯ܝࣔ൘ • GoogleϑΥʔϜͷճ౴ΛγʔτͰ؅ཧ͍ͯ͠ Δ৔߹ͷσʔλൺֱʢಉ࣌ʹফ͍ͨ͠౳ʣ͸ ϛϦඵͰ

Slide 4

Slide 4 text

GASͰ࡞ΔHtmlαϯϓϧ function doGet() { return HtmlService .createTemplateFromFile('Index') .evaluate(); } function getData() { return SpreadsheetApp .openById('1234567890abcdefghijk lmnopqrstuvwxyz') .getActiveSheet() .getDataRange() .getValues(); } var data = getData(); ?> for (var i = 0; i < data.length; i+ +) { ?> for (var j = 0; j < data[i].length; j++) { ?> = data[i][j] ?> } ?> } ?> IUUQTEFWFMPQFSTHPPHMFDPNBQQTTDSJQUHVJEFTIUNMUFNQMBUFTJOEFYIUNM@

Slide 5

Slide 5 text

• Google Forms x = ؆୯ܝࣔ൘

Slide 6

Slide 6 text

• ৄࡉંΓͨͨΈཁૉ • ྫɿ(୅ΘΓʹ࢖͑ͯݟͨ໨΋) • ৄࡉ͸MozillaͷϦϑΝϨϯεΛ λΠτϧ

ຊจ

Slide 7

Slide 7 text

ܝࣔ൘ 1. ౤ߘ༻ϑΥʔϜΛ༻ҙ 2. ϑΥʔϜ͔ΒεϓϨουγʔτ࡞੒ 3. εϓϨουγʔτͷApps Script͔ΒGAS ίʔυ, html, css, js ࡞੒ 4. RUN

Slide 8

Slide 8 text

Htmlίʔυαϯϓϧ let data = getData(); ?>
let iMax = data.length, j = iMax, i = 1; ?> for(i;i < j;i++){ let n = iMax - i; let postDate = new Date(data[n][0]).toLocaleString('ja-JP',{ timeZone: "Asia/ Tokyo" }) ?> = data[n][1] ?> = postDate ?>
= data[0][2] ?>	= data[n][2] ?>
= data[0][3] ?>	= data[n][3] ?>
= data[0][4] ?>	= data[n][4] ?>
} ?>

Slide 9

Slide 9 text

ϑΥʔϜͷճ౴ΛγʔτͰ؅ཧ ͍ͯ͠Δ࣌ͷσʔλൺֱ • ྫ͑͹ɿGoogleϑΥʔϜ͔Βճ౴👉εϓϨουγʔτʹσʔλ஝ੵ👉 γʔτͷApps ScriptͰճ౴ҰཡϖʔδΛGASͰදࣔͯ͠ΔΜ͚ͩͲɺͦ ͷϖʔδͰฤू࡟আ͍ͤͨ͞ʂ • GoogleϑΥʔϜͷճ౴೔࣌ΛGASͰऔಘ͢Δ࣌ʹλΠϜελϯϓҎ֎ͷ औΓํ͕ͳ͍ʁ(ࢀরɿClass FormResponseʣ • εϓϨουγʔτଆ͸ɺϩʔΧϥΠζ͞ΕͨλΠϜελϯϓ͕ه࿥͞ΕΔ • →ϑΥʔϜ΋εϓϨουγʔτ΋ɺϛϦඵʹม׵͢Ε͹ಉͩ͡͠ಉҰੑ͸ ͋Δఔ౓୲อͰ͖ΔʢΑΓݫີʹ͢ΔͳΒϝʔϧΞυϨεͰͷൺֱ΋௥ Ճʣ

Slide 10

Slide 10 text

GoogleϑΥʔϜ͔Βͷऔಘྫ function myFunction() { const formId = "target form id"; // ID͔ΒϑΥʔϜσʔλΛऔಘ͠ɺ֤ճ౴ͷλΠϜελϯϓͱ಺༰Λϩάग़ྗ let form = FormApp.openById(formId); let formResponses = form.getResponses(); for (let i = 0; i < formResponses.length; i++) { let formResponse = formResponses[i]; // ֤ճ౴ͷλΠϜελϯϓΛऔಘ͠ɺLogger΁ग़ྗ let timestamp = new Date(formResponses[i].getTimestamp()).getTime().toString(); Logger.log('Response #%s timestamp was %s', (i + 1).toString(), timestamp); let itemResponses = formResponse.getItemResponses(); // ֤ճ౴಺༰ΛLogger΁ग़ྗ for (let j = 0; j < itemResponses.length; j++) { let itemResponse = itemResponses[j]; Logger.log('Response #%s to the question "%s" was "%s"', (i + 1).toString(), itemResponse.getItem().getTitle(), itemResponse.getResponse()); } } }