Googleドキュメントの日付を今年の1月1日に自動で変更!
毎年、この時期に名簿の提出を求められる。既に作成してある日付を、作成日の1月1日と修正するだけの作業であるが、ファイルを開いて印刷するだけで作成できるようにしたい・・・と思い、いろいろ調べて見ました。
すぐに忘れてしまうので、ここに記録!
Googleドライブのメニューの「ツール」に「スクリプトエディタ」があります。こちらを開くと・・・
ファイルを開いた時に処理したい場合は、上図の「myFunction」となっているところを、「onOpen」と修正したら良いみたい!
function onOpen() {
・・・・
}
いろいろと調べてみて、下のコードを作成してみました。
function onOpen() {
var body=DocumentApp.getActiveDocument().getBody();
var ph=body.getParagraphs();
ph[1].removeFromParent();
var vdate=new Date();
var date = "令和"+(vdate.getFullYear()-2018)+"年1月1日現在 ";
var gyo2=body.insertParagraph(1,date);
gyo2.setAlignment(DocumentApp.HorizontalAlignment.RIGHT);
gyo2.setFontSize(11);
}
もうわからないと思う人もいると思うので、少し分解して
var body=DocumentApp.getActiveDocument().getBody();
細かい話は省略します。
今、開いているドキュメントの本文を「body」とします。
var ph=body.getParagraphs();
本文の「段落」すべてを「ph」とします。
ph[1].removeFromParent();
2番目(0から始まるので、ph[1] の 1 は2番目)の段落を削除します。
var vdate=new Date();
今日の日を「vdate」とします。
var date = "令和"+(vdate.getFullYear()-2018)+"年1月1日現在 ";
「令和」に、vdateの和暦の年(西暦年-2018)と「年1月1日現在 」をくっつけた文字を「date」とします。
var gyo2=body.insertParagraph(1,date);
本文の2番目(0からカウント)の段落を追加し、dateに代入した文字を追加し、「gyo2」とします。
gyo2.setAlignment(DocumentApp.HorizontalAlignment.RIGHT);
gyo2.setFontSize(11);
gyo2の文字を右寄せし、
フォントサイズを11に設定します。
以上で説明は終わり。
上記のソースをコピーして他のドキュメントに移植して、一部修正するだけで、応用することができます。
業務の中には、いくつかのソースの基本形を作成し、それらを組み合わせて使うことで、作業の合理化・省力化が図れると思います。
プログラムの作成方法は、ひとつではないので、もっと良い方法があると思います。
[例] テンプレートを作成しておき、文字を置き換えするなど。
プログラムが動作しないときは、デバッグして間違ったところを見つけるのですが、デバッグの仕方をマスターしたら、プログラムを作るのが楽しく感じます。
この記事が気に入ったらサポートをしてみませんか?