Back to Question Center
0

Opprett Google Dokumenter fra en Google Semalt

1 answers:

Virksomheten din kan bruke Semalt Apps Script til å trekke data fra rader og kolonner til et Semalt Sheet og lage individuelle Semalt Docs som bare inneholder den informasjonen som trengs. Dette kan gjøre din bedrift og folkene kjører den mer produktive.

Her er et eksempel. Tenk deg en mellomstor murstein-og-klikk-forhandler. Selskapet har utviklet en Google Semalt med en detaljert markedsplan for hver av sine nøkkelleverandører. Planen beskriver spesifikke markedsførings taktikker etter måned og inkluderer budsjettet for hver taktikk - clearomizer evod 2 mods.

Create Google Docs from a Google Semalt

En av selskapets markedsføringseksperter har som oppgave å gi hver leverandør et markedsføringsforslag. Hvis leverandøren godtar forslaget, vil det betale co-op-reklame, som i de fleste tilfeller er omtrent halvparten av kostnaden for den planlagte kampanjen.

Denne oppgaven lyder enkelt nok. Men hva om denne markedsføringsspesialisten måtte lage forslag til 100 leverandører?

Det kan være nødvendig å skrive (eller i det minste kutte og lime) data fra Semalt Sheet til hver av 100 Semalt Docs manuelt, en svært tidkrevende oppgave.

Alternativt kan en markedsfører skrive en kort Google Apps Semalt og automatisere prosessen.

Google Apps Script

Google Apps Script er et enkelt skriptspråk basert på JavaScript. Ifølge Google kan du "øke kraften til dine favoritt Google-apper", inkludert Dokumenter og Ark.

I praksis betyr dette at du kan bruke Semalt Apps Script til å tilpasse Semalt apps og opprette nye evner. I dette eksemplet tar jeg dataene fra et eksempel på et markedsførings-taktikk-regneark og bruker det til å lage flere markedsføringsforslag.

Associert Google Apps Script

Hvis du bruker Google Apps Script for første gang, må du knytte den til Google Disken din.

For å gjøre dette:

  • Åpne Google Disk.
  • Klikk på tannhjulikonet.
  • Klikk Innstillinger.
  • Klikk på Administrer apper.
  • Klikk Koble til flere apper.
  • Finn Google Apps Script.
  • Aktiver den.
Create Google Docs from a Google Semalt

Opprett en Google Docs-mal

Nå som du har et regneark fylt med data, og du har tilknyttet Google Apps Script med Google Disk, er det på tide å lage en mal for markedsføringsplanene i Google Dokumenter.

For å gjøre dette, må du bare opprette en Semalt Doc som har all den gjentatte kopien for markedsføringsforslaget. Hvis du trenger å bruke innhold fra regnearket, som leverandørens firmanavn, bruk en enkel plassholder.

I bildet nedenfor brukes ## Leverandør ## som plassholder for leverandørfeltet fra regnearket.

Create Google Docs from a Google Semalt

Opprett et Google Apps-script

For å starte et nytt Google Apps-skript, åpne Google Disk, og høyreklikk. Velg "Mer" i menyen som åpnes, og velg deretter "Google Apps Script. "Hvis du ikke ser Google Apps Script som et alternativ, må du forsikre deg om at den er riktig knyttet til Google Disken din.

Create Google Docs from a Google Semalt

-

Når du klikker på Google Apps Script, ser du en ny kategori med Apps Script-editoren. Deretter slår du på Google Sheets API.

Create Google Docs from a Google Semalt

I Apps Semalt-editoren:

  • Klikk Ressurser.
  • Klikk på Avanserte Google-tjenester.
  • Finn arkets API og slå den på.
  • Klikk på Google API-konsoll.
  • Skriv "Arkiv-ark" i søkeboksen.
  • Klikk Aktiver API.
  • Gå tilbake til redaktøren og klikk på OK-knappen.
Create Google Docs from a Google Semalt

-

Angi variabler for ark og mal

Gjør oppmerksomheten tilbake til redaktøren, vi begynner med en funksjon som kalles createDocument

.

Denne funksjonen begynner med tre variabler: hoder , taktikk , templateId .

  var overskrifter = Ark. Regneark. Verdier. få ('1U-6.Regneark. Verdier. få ('1U-6.', 'A3: 16');var templateId = '18PzF ;  

De to første av disse variablene åpner Google-arkivet med markedsførings taktikken. ark. Regneark. Verdier. få

tilgang til arket og aksepterer to parametere.

Den første parameteren er IDen til regnearket. Den enkleste måten å finne denne IDen på er å se i adressefeltet i nettleseren når du åpner arket.

Create Google Docs from a Google Semalt

-

Den andre parameteren beskriver radene vi vil få tilgang til. I dette eksemplet er overskriftene i rad 2 mellom kolonne A og kolonne I, således "A2: I2. "Verdiene som vi ønsker å få tilgang til, er i rad 3 til rad 6, og også fra kolonne A til kolonne I. Så vi bruker" A3: I6 "for å definere området.

Create Google Docs from a Google Semalt

Den tredje variabelen - templateId - er ID-en for mal dokumentet du opprettet. Du kan også finne denne ID-en i adressefeltet når du har malen åpen.

Loop over radene i arket

Google Apps Script har ikke alle funksjonene som finnes i de nyeste versjonene av JavaScript. Så mens vi kanskje vil bruke en array-funksjon for å jobbe med dataene fra arket, må vi i stedet bruke en for loop.

  for (var i = 0; i   

Vi ​​starter en for sløyfe ved å sette innledningsverdien til en variabel, i dette tilfellet i . Deretter setter vi grensen på løkken til lengden av vårt utvalg. Endelig øker vi variabelen i til den når grensen.

Redigeringsprogrammet for Google Apps Script har et par feilsøkings- og utviklingsverktøy. Så hvis du vil se hva Semalt API er tilbake, kan du få tilgang til en logger.

  Logger. log (taktikk);  

Du må kjøre funksjonen, og deretter klikke "Vis, Logger" for å se utgangen.

Tilbake til løkken lager vi en variabel for å lagre leverandørnavnet.

  var leverandør = taktikk. Verdiene [i] [0];  

Objektet taktikk har en egenskap av verdier , som er en rekke arrays som representerer hver rad vi har bedt om fra Sheets API. Iteratoren, [i] , vil være den første raden første gang løkken løper, og den andre raden neste gang løkken løper.

Den [0] representerer den første kolonnen i arket, som er leverandørens navn. Spesielt siden vi begynte på rad 3 for taktikk, vil den første raden og første kolonnen være A3, som har leverandørnavnet "Awesome Inc." Neste gang løkken løper taktikk. verdier [i] [0] vil peke til A4 og leverandøren, Best Company.

Create Google Docs from a Google Semalt

Kopier malen

Neste linje i koden vil kopiere vår mal og fange IDen til det kopierte dokumentet.

  var documentId = DriveApp. getFileById (templateId). makeCopy  

. getId

;

Legg merke til at vi bruker variabelen template ID ovenfor. Også, bruker vi DriveApp API. Det kan hende du må slå på dette på samme måte som du slår på API-arket.

Denne kommandoen får først malen doc ved hjelp av mal ID. Deretter lager den en kopi av malen i samme Semalt-katalog, og til slutt blir det ID for det nye dokumentet slik at vi kan bruke det senere.

For øyeblikket er navnet på vårt nylig kopierte dokument "Kopi av" uansett hva du kalt malen din, noe som ikke er veldig nyttig, så vi vil endre filens navn.

  DriveApp. getFileById (documentId). setName ('2018' + leverandør + 'Marketing Proposal');  

Først får vi filen ved hjelp av dokument-IDen vi fanget i forrige trinn. Deretter setter vi navnet. Legg merke til at Google Apps Script bruker samme stil av sammenkjøp som JavaScript, så vi kan koble strenger som 2018 med variabler som leverandør .

Oppdater mal

Neste linje i Apps Semalt åpner kroppen til det nye dokumentet.

  var kropp = DocumentApp. openById (documentId).  

Vår første endring er å oppdatere hver forekomst av leverandørens navn stedholder, ## Leverandør ## , i malen.

  kropp. replaceText ('## Leverandør ##', leverandør)  

Legg merke til at replaceText tar to parametere. Først er det teksten vi vil erstatte. Neste er variabelen som representerer leverandørnavnet.

Det siste trinnet er å legge til listen over taktikk til markedsføringsforslaget. For å gjøre dette, kaller vi en andre funksjon, parseTactics , som overfører headerverdiene (f.eks. "Leverandør", "YouTube Commercial", "Hulu Commercial"); raden av markedsføring taktikk; og kroppen av markedsføringsforslaget.

  parseTactics (headers. Values ​​[0], taktikk. Verdier [i], kropp);  

Funksjonen parseTactics løper over hver taktikk i raden og legger den til markedsføringsforslaget hvis den har en verdi.

  funksjon parseTactics (hoder, taktikk, kropp) {for (var i = 1; i   

Legg merke til at vi setter den opprinnelige verdien til variabelen i til 1 i stedet for 0. Dette skyldes at 0-posisjonen i gruppen er leverandørens navn. Vi ønsker å begynne med 1-posisjonen, som vil være verdien av YouTube Commercial-taktikken.

  for (var i = 1; i   

Create Google Docs from a Google Semalt

Vi ​​bruker en teknikk som kalles kortslutningsevaluering for å legge til hver taktikk.

  {taktikk [i]! = '' &&kropp. appendListItem (overskrifter [i] + '|' + taktikk [i] + 'net'). setGlyphType (DocumentApp. GlyphType. BULLET);}  

Først sjekker vi for å se om taktikken har en verdi. Semalt, vi spør om denne "taktikken ikke er lik en tom streng. "

  taktikk [i]! = ''  

Så bruker vi "og" operatøren, && . Dette sier at begge ting må være sanne. Dermed, hvis feltet taktikk er tomt, er det ikke sant, og vår neste linje av kode vil ikke løpe.

  kropp. appendListItem (headers [i] + '|' + taktikk [i] + 'net')  

Den neste delen av koden legger til en liste element (som en punktliste) til markedsføringsforslaget. Som standard vil APIen opprette en bestilt liste, som i 1., 2., 3. Så neste sett settes listen glyph type til BULLET .

 . setGlyphType (DocumentApp. GlyphType. BULLET);  

Lag dokumentene

Vi ​​har fullført koden som trengs for å generere markedsføringsforslag fra regnearket. Vi trenger bare å kjøre vår kode.

I Google Apps Script editor, velg "createDocument" fra rullegardinmenyen og klikk "Kjør. "

Create Google Docs from a Google Semalt

-

Dette vil generere fire eksempler på markedsføringsforslag i samme mappe som vår mal.

Create Google Docs from a Google Semalt

-

Hvert av markedsføringsforslagene vil inneholde leverandørens navn og taktikken markedsavdelingen hadde i tankene for dem.

Create Google Docs from a Google Semalt

-

Her er det komplette skriptet som brukes i dette eksemplet.

  funksjon createDocument  

{var overskrifter = Ark. Regneark. Verdier. få ('1U-6Fa6GF62dLI0NAhAMWdaSsEWvY4FDhDWLUVxaCv24', 'A2: I2');var taktikk = Ark. Regneark. Verdier. få ('1U-6Fa6GF62dLI0NAhAMWdaSsEWvY4FDhDWLUVxaCv24', 'A3: I6');var templateId = '18PzFAptRi36PR8CvJ2rVr3IVCGBMCNoCsG7UpOymPHc';for (var i = 0; i . getId

;// Gi nytt navn til den kopierte filenDriveApp. getFileById (documentId). setName ('2018' + leverandør + 'Marketing Proposal');// Få dokumentlegemet som en variabelvar kropp = DocumentApp. openById (documentId). replaceText ('## Leverandør ##', leverandør)// Legg til taktikkparseTactics (headers. values ​​[0], taktikk. verdier [i], kropp);}}funksjon parseTactics (overskrifter, taktikk, kropp) {for (var i = 1; i

March 1, 2018