私が使用するGoogle Docテンプレート用のこの素敵なコードは、私がそれをするために必要なことを正確に行いますexceptそれは日付だけでなく、フッターのすべてのコンテンツをクリアします。私のコピーの残りではなく、前の日付だけをクリアする方法はありますか?文書を開いたときに著作権データを自動化したいと考えています。
function onOpen() {
var doc = DocumentApp.getActiveDocument();
var footer = doc.getFooter(); //gets the footer
footer.clear(); //clears all data in footer
//Get date
var date = new Date();
var year = date.getFullYear();
footer.appendParagraph(FullYear); //adds date to footer
}
これは基本的に replaceText の目的です:
function onOpen() {
var doc = DocumentApp.getActiveDocument();
var footer = doc.getFooter(); //gets the footer
var date = new Date();
var year = date.getFullYear(); // gets the year
footer.replaceText("\\b20\\d\\d\\b", year); // replaces any 20xx by the year
}
正規表現"\\b20\\d\\d\\b"
は、バックスラッシュがエスケープされるため読みにくいです。これは、単語の境界に一致する\b20\d\d\b
を意味し、\b
の後に文字20が続き、その後に任意の2桁の文字(0-9)が続き、その後に単語の境界が続きます。単語の境界は、「 Coffeen、IL 62017 」のように、置換が行われないことを意味します。