Googleのテキストとテキストのプレースホルダを置き換えるためのキーとして列ヘッダーの値を使用して、GoogleドキュメントとGoogleシートのデータをマージする次のコードは、 doc。現時点でGoogleドキュメントのマージでGoogleシート内の特定のセルの編集
// Set up the docs and the spreadsheet access
var copyFile = DriveApp.getFileById(TEMPLATE_ID).makeCopy(),
copyId = copyFile.getId(),
copyDoc = DocumentApp.openById(copyId),
copyBody = copyDoc.getActiveSection(),
activeSheet = SpreadsheetApp.getActiveSheet(),
numberOfColumns = activeSheet.getLastColumn(),
activeRowIndex = activeSheet.getActiveRange().getRowIndex(),
activeRow = activeSheet.getRange(activeRowIndex, 1, 1,
numberOfColumns).getValues(),
headerRow = activeSheet.getRange(1, 1, 1, numberOfColumns).getValues(),
columnIndex = 0
// Replace the keys with the spreadsheet values
for (;columnIndex < headerRow[0].length; columnIndex++) {
copyBody.replaceText('%' + headerRow[0][columnIndex] + '%',
activeRow[0][columnIndex])
、このコードは手動でトリガする必要があり、アクティブな行をカーソルで選択された場所に基づいて機能を実行します。
また、行の特定のセルの編集時にこの関数をトリガし、この同じ行の値を参照してマージを実行したいとします。私は過去に以下のコードを使用していますが、上記のコンテキストでは使用していません。
function onEditcustom(e) {
if(e.range.getColumn() == 1 && e.value == "APPROVED" &&
e.range.getSheet().getName() == "Sheet 1"){
ご協力いただければ幸いです。
ありがとうございます!
あなたの質問(複数可)とは何ですか? StackOverflowは、あなたのプロジェクトのための特別なソリューションを他人から得る場所ではありません。 –
Hey Anton - 明確にするために、特定のセルが編集されたときだけ、Googleシートを使って文書マージを実行する方法を知りたいと思います。上記のコードの最初のセットはその要点ですが、私は特定のセルの編集にこの機能を実行したいと思います。 –