3個令人印象深刻的google文件指令碼,可自動執行文件

想簡化那些重複的任務嗎?下面介紹如何將Google指令碼與具有出色結果的表單和文件整合。...

有很多好的理由可以使用基於雲的谷歌文檔,而不是基於應用程序的文字處理應用程序,如MicrosoftWord。最重要的一點是,您可以使用強大的Google腳本創建一些非常有用的自動化。

google-docs-scripts

下面有三個腳本,讓您從用戶提示構建文檔,將Google Analytics導入Google文檔報告,並從Google工作表文件創建文檔。

1使用提示生成文檔

如果您經常發送同一封電子郵件,自動文檔模板確實可以幫助您節省時間。這可能像是給你的經理的每月銷售報告,或是給同事的每週更新。你經常寫的任何東西都可以通過文檔模板和Google腳本自動完成。

第一步是創建文檔模板。這樣做就像創建一個Google文檔一樣簡單。對於您要填寫的單詞,只需用兩個###符號將其環繞,如下面的示例所示。

google docs template

在這個文檔中,您可以創建一個在文檔打開時運行的Google腳本。腳本將提示您輸入文檔中的每個元素。

要創建腳本,請單擊“工具”菜單項,然後單擊“腳本編輯器”。

docs script editor

在編輯器窗口中,刪除其中的代碼並用以下腳本替換它。

此腳本將在文檔打開時調用提示,創建一個標題中包含銷售人員姓名和今天日期的新文檔。然後它將用您輸入的信息填充模板字段。

function myFunction() { // Display a dialog box for each field you need information for. var ui = DocumentApp.getUi(); //var resp***e = ui.prompt('Enter Name', 'Enter sales person's name', ui.ButtonSet.OK); var nameResp***e = ui.prompt('Enter sales pers*** name'); var client1Resp***e = ui.prompt('Enter client 1'); var sales1Resp***e = ui.prompt('Enter sales 1'); var client2Resp***e = ui.prompt('Enter client 2'); var sales2Resp***e = ui.prompt('Enter sales 2'); var client3Resp***e = ui.prompt('Enter client 3'); var sales3Resp***e = ui.prompt('Enter sales 3'); var commissionResp***e = ui.prompt('Enter commission'); var date = new Date(); //Make a copy of the template file var documentId = DriveApp.getFileById('<your-template-id>').makeCopy().getId(); //Rename the copied file DriveApp.getFileById(documentId).setName(nameResp***e.getResp***eText() + date + ' Sales Report'); //Get the document body as a variable var body = DocumentApp.openById(documentId).getBody(); //Insert the entries into the document body.replaceText('##name##', nameResp***e.getResp***eText()); body.replaceText('##client1##', client1Resp***e.getResp***eText()); body.replaceText('##sales1##', sales1Resp***e.getResp***eText()); body.replaceText('##client2##', client2Resp***e.getResp***eText()); body.replaceText('##sales2##', sales2Resp***e.getResp***eText()); body.replaceText('##client3##', client3Resp***e.getResp***eText()); body.replaceText('##sales3##', sales3Resp***e.getResp***eText()); body.replaceText('##commission##', commissionResp***e.getResp***eText()); }

用模板文檔的文檔ID替換上面腳本中的文檔ID代碼。

當您編輯模板文檔時,您會發現這個嵌入在URL中。

document id

在Google腳本編輯器窗口中,單擊磁盤圖標保存腳本。

接下來,單擊run圖標測試它是否工作。

當您第一次運行腳本時,可能需要批准您的Google帳戶的權限才能運行腳本。

回到模板文檔中,您會看到一個接一個的彈出提示窗口。用要進入文檔的數據填充字段。

google doc prompts

完成後,腳本將在您的Google Drive根文件夾中創建一個新文檔,其中包含您輸入的所有信息。

google docs new document

最後,您只需要設置腳本,以便每次打開模板文檔時運行。

在Google腳本編輯器窗口中,單擊編輯&gt;當前項目的觸發器。

單擊右下角的添加觸發器按鈕。確保“選擇事件類型”處於打開狀態。

on open trigger

向下滾動並單擊Save,就完成了。

2將google ****ytics導入文檔報告

無論你擁有一個網站,還是你為一個擁有網站的人工作,一個常見的要求是測量網站流量和性能,並在格式化的報告中提供。

您可以使用與上一節相同的模板方法從Google Analytics導出網站數據,並將其輸出到格式良好的Google Docs報告。

首先,像上一節一樣創建一個報表模板。在本例中,模板將被設置為提供過去一週的總用戶、會話和頁面瀏覽量。

****ytics report template

接下來,使用與上一節相同的步驟進入googledocs腳本編輯器。

通過以下步驟啟用對谷歌分析數據的訪問。

  1. 在腳本編輯器窗口中,選擇資源,然後選擇高級Google服務
  2. 單擊Google Analytics API旁邊的on/off
  3. 在對話框下方,單擊Google雲平臺API儀表板鏈接
  4. 在雲平臺窗口中,單擊EnableAPI和Services
  5. 搜索分析,然後單擊Analytics API
  6. 單擊啟用按鈕以啟用腳本的此API
  7. 返回腳本編輯器窗口,然後單擊“確定”關閉“高級Google服務”窗口

****ytics api

現在您已經啟用了與Google分析API的集成,可以自動創建報表了。

在腳本編輯器代碼窗口中粘貼以下代碼。

function myFunction() { var tableId = 'ga:<your-****ytics-id>'; var startDate = getLastNdays(7); // 1 week ago. var endDate = getLastNdays(0); var date = new Date(); var results = Analytics.Data.Ga.get( tableId, startDate, endDate, 'ga:users,ga:sessi***,ga:pageviews', {'dimensi***': 'ga:date'}); var data = []; var totals = results.totalsForAllResults; for (metricName in totals) { data.push(totals[metricName]); } var users = data[0] var sessi*** = data[1] var pageviews = data[2] // Output to Google Doc. //Make a copy of the template file var documentId = DriveApp.getFileById('').makeCopy().getId(); //Rename the copied file DriveApp.getFileById(documentId).setName(date + ' Website Report'); //Get the document body as a variable var body = DocumentApp.openById(documentId).getBody(); //Insert the entries into the document body.replaceText('##startdate##', startDate); body.replaceText('##enddate##', endDate); body.replaceText('##users##', users); body.replaceText('##sessi***##', sessi***); body.replaceText('##pageviews##', pageviews);}function getLastNdays(nDaysAgo) { var today = new Date(); var before = new Date(); before.setDate(today.getDate() - nDaysAgo); return Utilities.formatDate(before, 'GMT', 'yyyy-MM-dd');}

用模板文檔的文檔ID替換上面腳本中的文檔ID代碼。同時用Google Analytics中為您的網站顯示的ID替換分析ID。

在Google腳本編輯器窗口中,單擊磁盤圖標保存腳本。

單擊run圖標測試它是否工作。

當您第一次運行腳本時,您必須批准您的Google帳戶的權限才能運行腳本。

運行該腳本將在您的Google Drive根文件夾中創建一個新文檔,其中包含上週的所有網站性能信息。

automated ****ytics report

最後,您只需要設置每週運行的腳本。

在googlescripteditor窗口中,單擊Edit和currentproject的觸發器。

單擊右下角的添加觸發器按鈕。將“選擇事件源”更改為“時間驅動”。將基於時間的觸發器的選擇類型更改為周計時器。

google scripts weekly trigger

向下滾動並單擊Save,您的腳本將每週運行一次,並創建新的週報。

三。從google工作表創建文檔

有時您需要將電子表格中的信息轉換為文檔,例如開發報告或記錄信息。

如果你發現自己經常這樣做,你可以通過整合googlesheets和googledocs來節省時間。對於這個腳本,您將使用googlesheets中的googlescripts編輯器,因為這是數據的來源。

首先,您將創建模板銷售文檔,就像在本文的第一節中所做的那樣,嵌入由#符號包圍的變量。

google docs template

這些報告的數據將來自您的googlesheets電子表格,它可能類似於此示例。

google sheets data

要創建腳本,請在googlesheets中,單擊Tools菜單項,然後單擊scripteditor。

在編輯器腳本窗口中粘貼以下腳本。

function myFunction() { var date = new Date(); // Opens SS by its ID var ss = SpreadsheetApp.openById("<spreadsheet-document-id>"); var sheet = ss.getSheetByName('Sam'); // or whatever is the name of the sheet //Make a copy of the template file var documentId = DriveApp.getFileById('<template-document-id>').makeCopy().getId(); //Rename the copied file DriveApp.getFileById(documentId).setName('Sam ' + date + ' Sales Report'); //Get the document body as a variable var body = DocumentApp.openById(documentId).getBody(); var range = sheet.getRange("A2:B4"); body.replaceText('##name##', 'Sam'); for (var i=1; i<4; i++) { cell = range.getCell(i,1); client = cell.getValue(); body.replaceText('##client' + i + '##', client); cell = range.getCell(i,2); sales = cell.getValue(); body.replaceText('##sales' + i + '##', sales); }}

用模板文檔的文檔ID替換上面腳本中的文檔ID。同樣,用數據Google Sheet的ID替換Google Sheet ID。

在Google腳本編輯器窗口中,單擊磁盤圖標保存腳本。

單擊run圖標測試它是否工作。

請記住,當您第一次運行腳本時,您需要批准權限,以便它可以訪問您的Google帳戶。

當您運行腳本時,它將在您的Google Drive根文件夾中創建一個新文檔,其中包含來自電子表格的所有銷售數據。

sales data document

還可以在工作表選項卡之間循環,為團隊中的每個銷售人員創建新的銷售輸出文檔。

為什麼不玩一下上面的腳本,看看你能不能完成這個任務?

更多谷歌腳本

GoogleDocs看起來像一個簡單的文字處理器,但是當你整合GoogleAnalytics時,你會發現它是這個雲應用功能的倍增。

谷歌文檔中的模板是所有這些工作的核心部分。你會驚訝於在googledocs中使用模板能讓你做的每件事都更有效率。嘗試一下,同時你也可以添加你自己的創造性的Google腳本自動化。

記住,您也可以在工作表中使用腳本。想舉幾個例子嗎?看看這些谷歌腳本,可以使谷歌表更強大。

  • 發表於 2021-03-22 16:38
  • 閱讀 ( 48 )
  • 分類:程式設計

你可能感興趣的文章

5個有用的vb windows指令碼,可自動使用計算機

...通計算機使用者,都可能需要經常在PC上執行許多工。VB指令碼是按比例縮小的Visual Basic程式,用作Windows指令碼,可以執行任何操作,從調出有關計算機硬體的重要資訊,到停止和啟動服務或重置網路卡片。 ...

  • 發佈於 2021-03-11 20:14
  • 閲讀 ( 52 )

如何用photoshop指令碼自動化photoshop

... 我們來分析一下這段程式碼的作用。當前的文件變數儲存來自Photoshop的活動文件物件。使用app.activeDocument應用程式語法。如果沒有開啟文件執行Photoshop,此程式碼將引發異常。異常是程式碼停止執行的方法——如果...

  • 發佈於 2021-03-13 07:15
  • 閲讀 ( 59 )

如何將excel資料整合到word文件中

...您實際程式設計儲存在Excel檔案中的資料與生成報表的Word文件之間的連線。 ...

  • 發佈於 2021-03-13 07:56
  • 閲讀 ( 44 )

使用此powershell指令碼在windows中自動執行檔案加密

...的每個檔案以應用或刪除檔案加密。你不想把它指向你的文件資料夾。您需要建立幾個子資料夾來使用此指令碼。如果您檢視模組的原始碼,它將使用Get ChildItem獲取目錄中的所有內容。解密函式將搜尋限制為以.GPG結尾的檔案。 ...

  • 發佈於 2021-03-13 21:58
  • 閲讀 ( 109 )

如何在mac上建立令人印象深刻的頁面文件和模板

在文書處理方面,MicrosoftWord仍然處於領先地位,尤其是在商業環境中。但這不是鎮上唯一的遊戲。許多Mac電腦的使用者轉向蘋果的網頁。 ...

  • 發佈於 2021-03-15 14:17
  • 閲讀 ( 40 )

初學者快速自動熱鍵指南

...始”選單中找到“自動熱鍵”並將其開啟。您將看到幫助文件,AutoHotkey用它代替了傳統的GUI。使用自動熱鍵最簡單的方法是使用其他人已經編寫的指令碼。這個指令碼將轉換為“順便說一句”每次你鍵入它。 ...

  • 發佈於 2021-03-21 16:59
  • 閲讀 ( 52 )

如何透過五個簡單步驟建立批處理(bat)檔案

... 開啟文字檔案,如記事本或寫字板文件。 新增您的命令,從@echo[off]開始,然後是---每一行---title[title of your batch script],echo[first line],然後暫停。 例如,用副檔名.bat儲存檔案...

  • 發佈於 2021-03-23 08:09
  • 閲讀 ( 46 )

如何從google表單自動傳送月度發票

... 在本文中,您將看到如何編寫Google指令碼(非常簡單,不用擔心)。 ...

  • 發佈於 2021-03-23 13:40
  • 閲讀 ( 48 )

如何用巨集自動化google工作表中的重複任務

...巨集最終可供googlesheets使用者使用。巨集允許您自動執行文件和電子表格中的重複任務,而無需學習編寫程式碼。 ...

  • 發佈於 2021-03-24 23:19
  • 閲讀 ( 50 )

如何在windows和mac上自動將檔案從一個資料夾移動到另一個資料夾

...啟動它。 將以下指令碼貼上到新的記事本文件中。@echo offset X=Daysset“source=SourceFolder”set“destination=DestinationFolder”robocy“%source%”“%destination%”/mov/minage:%X%exit/b 在上面的指令碼中,將Days替換為指令...

  • 發佈於 2021-03-27 06:07
  • 閲讀 ( 60 )
dr036578
dr036578

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦