0

これは単純な問題です(私はJavaScriptを初めて使用しており、構文や配列の使用に関する知識が限られています)。非常に簡単な解決方法をアドバイスできます!プレースホルダーの配列を使用してテキストを置き換えます:JavaScriptの置換ペア

既存のGoogleドキュメントテンプレートのテキストプレースホルダーを可変テキスト入力に置き換えて、最終的に1つまたは複数の外部ソースからAPIなど(フォームなど)を使用して読み込む予定です。

function replaceAllPlaceholders() { 
    var body = DocumentApp.getActiveDocument().getBody(); //defines the range within which to replace text 

    body.replaceText('placeholder1', 'replacement1'); 
    body.replaceText('placeholder2', 'replacement2'); 
    body.replaceText('placeholder3', 'replacement3'); 
    // ... 
    body.replaceText('placeholder98', 'replacement98'); 
    body.replaceText('placeholder99', 'replacement99'); } 

ではなく、私が上記行ったようにどのようにではなくプレースホルダの配列として情報をレイアウトすることができ、各置換のためのreplaceText(関数を繰り返し:交換ペア、および各

をループ?
// for example something like this (pseudo): 
// 
// var obj = { 
// 'placeholder1': 'replacement1' // I would like to keep open the option to retrieve this array from an external source instead 
// 'placeholder2': 'replacement2' 
// 'placeholder3': 'replacement3' }; 
// 
// body.replaceText(*all placeholders*,*all replacements*); 

これは、Google Apps Script内で直接、または配列全体を外部ソースから取得した配列に置き換えることで、プレースホルダや置換文字のセットをより柔軟に編集できると考えています必要)。問題は私がこれを行うための正しい方法を理解するために頼りにしてください。助言がありますか?

また、私の目標を達成するためのより良い方法がありますか? 私はすべての推奨事項を公開しています!

答えて

0

この

var placeholders = [ 
    ['placeholder1', 'replacement1'], 
    ['placeholder2', 'replacement2'], 
    ['placeholder3', 'replacement3'] 
]; 

placeholders.forEach(function(pair) { 
    body.replaceText(pair[0], pair[1]); 
}); 
をお試しください
関連する問題