Googleドキュメントの日付を今年の1月1日に自動で変更!

 毎年、この時期に名簿の提出を求められる。既に作成してある日付を、作成日の1月1日と修正するだけの作業であるが、ファイルを開いて印刷するだけで作成できるようにしたい・・・と思い、いろいろ調べて見ました。
 すぐに忘れてしまうので、ここに記録!

修正したいドキュメント

 Googleドライブのメニューの「ツール」に「スクリプトエディタ」があります。こちらを開くと・・・

メニュー:スクリプトエディタ
Google Apps Script

 ファイルを開いた時に処理したい場合は、上図の「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に設定します。


 以上で説明は終わり。
 上記のソースをコピーして他のドキュメントに移植して、一部修正するだけで、応用することができます。
 業務の中には、いくつかのソースの基本形を作成し、それらを組み合わせて使うことで、作業の合理化・省力化が図れると思います。

 プログラムの作成方法は、ひとつではないので、もっと良い方法があると思います。
                [例] テンプレートを作成しておき、文字を置き換えするなど。

 プログラムが動作しないときは、デバッグして間違ったところを見つけるのですが、デバッグの仕方をマスターしたら、プログラムを作るのが楽しく感じます。

この記事が気に入ったらサポートをしてみませんか?