5 Google Sheets -skriptitoimintoa, jotka sinun on tiedettävä
Google Sheets on tehokas pilvipohjainen taulukkolaskentatyökalu, jonka avulla voit tehdä melkein kaiken, mitä voit tehdä Microsoft Excelissä(Microsoft Excel) . Mutta Google Sheetsin(Google Sheets) todellinen voima on sen mukana tuleva Google Scripting -ominaisuus.
Google Apps -skriptaus on taustalla käytettävä komentosarjatyökalu, joka toimii Google Sheetsin(in Google Sheets) lisäksi Google Docsissa, Gmailissa, Google Analyticsissa(Google Analytics) ja lähes kaikissa muissa Googlen(Google) pilvipalveluissa. Sen avulla voit automatisoida yksittäiset sovellukset ja integroida kaikki nämä sovellukset toisiinsa.
Tässä artikkelissa opit pääsemään alkuun Google Apps -skriptien kanssa , luomaan perusskriptin Google Sheetsissä(Google Sheets) solutietojen lukemista ja kirjoittamista varten sekä tehokkaimmista edistyneistä Google Sheets -skriptitoiminnoista.
Google Apps -skriptin luominen(How to Create a Google Apps Script)
Voit aloittaa heti ensimmäisen Google Apps -ohjelman luomisen (Google Apps)Google Sheetsin(Google Sheets) sisällä .
Voit tehdä tämän valitsemalla valikosta Työkalut(Tools) ja sitten Script Editor .
Tämä avaa komentosarjaeditori-ikkunan ja käyttää oletuksena funktiota nimeltä myfunction() . Täällä voit luoda ja testata Google-skriptiäsi(Google Script) .
Kokeile luoda Google Sheets -skriptitoiminto, joka lukee tiedot yhdestä solusta, suorittaa laskelman ja tulostaa datamäärän toiseen soluun.
Funktio datan saamiseksi solusta on getRange() - ja getValue()- funktiot. Voit tunnistaa solun rivin ja sarakkeen mukaan. Joten jos sinulla on arvo rivillä 2 ja sarakkeessa 1 (A-sarake), skriptin ensimmäinen osa näyttää tältä:
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; var col = 1; var data = sheet.getRange(row, col).getValue(); }
Tämä tallentaa arvon kyseisestä solusta datamuuttujaan(data) . Voit suorittaa laskennan tiedoille ja kirjoittaa tiedot sitten toiseen soluun. Joten tämän toiminnon viimeinen osa on:
var results = data * 100; sheet.getRange(row, col+1).setValue(results); }
Kun olet kirjoittanut funktion, valitse levykuvake tallentaaksesi.
Kun suoritat ensimmäisen kerran tällaisen uuden Google Sheets -skriptitoiminnon (valitsemalla suorituskuvakkeen), sinun on annettava valtuutus(Authorization) , jotta skripti voidaan suorittaa Google-tililläsi(Google Account) .
Salli luvat jatkaa. Kun komentosarja on suoritettu, näet, että komentosarja kirjoitti laskentatulokset kohdesoluun.
Nyt kun osaat kirjoittaa Google Appsin(Google Apps) perusskriptitoiminnon, katsotaanpa joitain edistyneempiä toimintoja.
Käytä getValueita taulukoiden lataamiseen(Use getValues To Load Arrays)
Voit viedä käsitteen laskea laskentataulukon tiedoista komentosarjan avulla uudelle tasolle käyttämällä taulukoita. Jos lataat muuttujan Google Apps -skriptiin getValuesilla, muuttuja on taulukko, joka voi ladata useita arvoja taulukosta.
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues();
Tietomuuttuja on moniulotteinen taulukko, joka sisältää kaikki taulukon tiedot. Suorittaaksesi datan laskennan, käytät for- silmukkaa. For-silmukan laskuri toimii jokaisen rivin läpi, ja sarake pysyy vakiona sen sarakkeen mukaan, johon haluat vetää tiedot.
Esimerkkilaskentataulukossamme voit suorittaa laskelmia kolmelle tietoriville seuraavasti.
for (var i = 1; i < data.length; i++) { var result = data[i][0] * 100; sheet.getRange(i+1, 2).setValue(result); } }
Tallenna(Save) ja suorita tämä komentosarja aivan kuten teit yllä. Näet, että kaikki tulokset on täytetty laskentataulukon sarakkeeseen 2.
Huomaat, että soluun ja riviin viittaaminen taulukkomuuttujassa on erilaista kuin getRange-funktiolla.
data[i][0] viittaa taulukon mittoihin, joissa ensimmäinen ulottuvuus on rivi ja toinen sarake. Molemmat alkavat nollasta.
getRange(i+1, 2) viittaa toiseen riviin, kun i=1 (koska rivi 1 on otsikko), ja 2 on toinen sarake, johon tulokset tallennetaan.
Käytä appendRow-komentoa tulosten kirjoittamiseen(Use appendRow To Write Results)
Entä jos sinulla on laskentataulukko, johon haluat kirjoittaa tiedot uudelle riville uuden sarakkeen sijaan?
Tämä on helppo tehdä appendRow- toiminnolla. Tämä toiminto ei häiritse taulukossa olevia tietoja. Se vain lisää uuden rivin olemassa olevaan taulukkoon.
Tee esimerkiksi funktio, joka laskee 1:stä 10:een ja näyttää laskurin, jossa on 2:n kerrannainen Laskuri(Counter) - sarakkeessa.
Tämä toiminto näyttäisi tältä:
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i<11; i++) { var result = i * 2; sheet.appendRow([i,result]); } }
Tässä ovat tulokset, kun suoritat tämän toiminnon.
Käsittele RSS-syötteitä URLFetchAppilla(Process RSS Feeds With URLFetchApp)
Voit yhdistää aiemman Google Sheets -skriptitoiminnon ja URLFetchApp - sovelluksen RSS - syötteen hakemiseksi mistä tahansa verkkosivustosta ja kirjoittaa rivin laskentataulukkoon jokaisesta kyseisellä verkkosivustolla äskettäin julkaistusta artikkelista.
Tämä on pohjimmiltaan DIY -menetelmä oman RSS - syötteenlukijataulukon luomiseen!
Käsikirjoitus tämän tekemiseen ei myöskään ole liian monimutkainen.
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var item, date, title, link, desc; var txt = UrlFetchApp.fetch("https://www.topsecretwriters.com/rss").getContentText(); var doc = Xml.parse(txt, false); title = doc.getElement().getElement("channel").getElement("title").getText(); var items = doc.getElement().getElement("channel").getElements("item"); // Parsing single items in the RSS Feed for (var i in items) { item = items[i]; title = item.getElement("title").getText(); link = item.getElement("link").getText(); date = item.getElement("pubDate").getText(); desc = item.getElement("description").getText(); sheet.appendRow([title,link,date,desc]); } }
Kuten näet, Xml.parse vetää jokaisen kohteen pois RSS - syötteestä ja erottaa jokaisen rivin otsikoksi, linkiksi, päivämääräksi ja kuvaukseksi.
AppendRow- funktion avulla(appendRow) voit sijoittaa nämä kohteet sopiviin sarakkeisiin jokaiselle RSS - syötteen kohteelle.
Arkin tuloste näyttää suunnilleen tältä:
Sen sijaan, että upottaisit RSS - syötteen URL -osoitteen skriptiin, taulukossasi voisi olla kenttä, jossa on URL -osoite ja sitten useita taulukoita – yksi jokaiselle valvottavalle verkkosivustolle.
Liitä merkkijonot(Concatenate Strings) ja lisää(Add) vaunun palautus(Carriage Return)
Voit viedä RSS - laskentataulukkoa askeleen pidemmälle lisäämällä tekstinkäsittelytoimintoja ja sitten lähettää itsellesi sähköpostin, jossa on yhteenveto kaikista sivuston RSS - syötteen uusista viesteistä.
Voit tehdä tämän lisäämällä edellisessä osiossa luomasi skriptin alle komentosarjan, joka poimii kaikki laskentataulukon tiedot.
Haluat luoda aiherivin ja sähköpostin tekstiosan jäsentämällä yhteen kaikki tiedot samasta "kohteet"-taulukosta, jolla kirjoitit RSS -tiedot laskentataulukkoon.
Tee tämä alustamalla aihe ja viesti asettamalla seuraavat rivit For-silmukan eteen.
var subject = ‘Latest 10 articles published at mysite.com’
var message = ‘’
Lisää sitten seuraava rivi silmukan "items" loppuun (aiemmin appendRow-funktion jälkeen).
message = message + title + '\n' + link + '\n' + date + '\n' + desc + '\n' + '\n \n';
"+" -symboli yhdistää kaikki neljä kohdetta ja sen jälkeen " " rivinvaihtoa varten jokaisen rivin jälkeen. Jokaisen otsikkotietolohkon lopussa haluat kaksi rivinvaihtoa saadaksesi kauniisti muotoillun sähköpostin rungon.
Kun kaikki rivit on käsitelty, "body"-muuttuja sisältää koko sähköpostiviestin merkkijonon. Nyt olet valmis lähettämään sähköpostin!
Sähköpostin lähettäminen Google Apps Scriptissa(How To Send Email In Google Apps Script)
Google-skriptin(Google Script) seuraava osa on lähettää "aihe" ja "teksti" sähköpostitse. Tämän tekeminen Google Scriptissa(Google Script) on erittäin helppoa.
var emailAddress = [email protected];
MailApp.sendEmail(emailAddress, subject, message);
MailApp on erittäin kätevä Google Apps -skriptien(MailApp) luokka, jonka avulla voit käyttää Google-tilisi sähköpostipalvelua sähköpostien lähettämistä ja vastaanottamista varten. Tämän ansiosta yhdellä rivillä, jossa on sendEmail-toiminto, voit lähettää minkä tahansa sähköpostin(send any email) , jossa on vain sähköpostiosoite, aiherivi ja leipäteksti.
Tuloksena oleva sähköposti näyttää tältä.
Kun yhdistät mahdollisuuden poimia verkkosivuston RSS - syöte, tallentaa se Google-taulukkoon(Google Sheet) ja lähettää sen itsellesi URL - linkkien kanssa, on erittäin kätevää seurata minkä tahansa verkkosivuston uusinta sisältöä.
Tämä on vain yksi esimerkki Google Apps -skriptien tehosta automatisoida toimintoja ja integroida useita pilvipalveluita.
Related posts
4 tapaa muuntaa Excel Google Sheetsiksi
Google Sheets vs Microsoft Excel – mitkä ovat erot?
Taulukon reunusten poistaminen Google Docsista
Kuinka Google Docs Chat auttaa sinua tekemään yhteistyötä asiakirjojen parissa
Vesileiman lisääminen Wordiin ja Google-dokumentteihin
Kuvakaappausten ottaminen ja lisääminen OneNoten avulla
Sanojen etsiminen ja korvaaminen MS Wordissa ja Google Docsissa
Korjaa MS Office "Cannot Verify License" -virhesanoma
10 työkalua kadonneen tai unohdetun Outlookin PST-salasanan palauttamiseen
Google Slides vs Microsoft PowerPoint – mitkä ovat erot?
Kuinka lisätä alaviitteitä Wordiin
Kuinka tyhjentää Outlook-välimuisti
Excelin Speak Cells -ominaisuuden käyttäminen
Objektien kerrostaminen PowerPoint-esityksessä
Ladattaessa profiilin juuttunut Outlookin korjaaminen
Kuinka viedä sähköpostisi Microsoft Outlookista CSV- tai PST-muotoon
Tee OpenOffice Writer näyttämään ja toimimaan enemmän kuin Microsoft Word
Kuinka näyttää sanamäärä Microsoft Wordissa
Kuinka käyttää Google-lomakkeita kuluseurantana
Kuinka korjata rivi Excelissä