やってみたら意外と資料が分散してて大変だったのでメモがてら。
きっかけ
わたしはプライベートの日記をOneNoteにつけています。
「日記」というノートブックに「今年の年(2018年など)」というセクションを作り、その中に「yyyy/MM/dd その日のタイトル(タイトルはその日の最後に追記)」という名前のノートを作って運用しているのですが、毎回定型文(ほんのわずかではありますが)を書かなければいけないのがちょっと面倒に感じていました。
そのためFlowでノートの作成だけ自動化しようとしたのですが、関連するドキュメントが結構あちこちに富んでいてやりづらかったです。同じMicrosoftのプロダクトなんだから相互リンクくらいしてくれよという気もしますが…。
毎日n時実行のトリガーを作る
これは簡単。「繰り返し」というトリガーがあるので、これを使いましょう。
OneNoteにページを作る
本来であればセクション名をちゃんと式を使って入力したかったんですが、FlowのOneNoteアクションでは、セクション名ではなく、セクションIDを要求してくるので面倒なのでやめました(ノートブックのセクションを取得 というアクションもあるので、そこから頑張ればなんとかできそうな気もする)。
ページの内容を書く
で、ここからなのですが、OneNoteのノートページは簡易HTMLとなっています。「OneNote ページの作成」というところにまとまっていますので、使えるタグはそこを参照しましょう。なお、titleタグは丁寧にheadタグに囲んであげないと認識してくれないようです。(雑にtitleタグだけ書いてもダメ)
わたしの場合ひとまずこんな感じで作成しました。
<!DOCTYPE html>
<html>
<head>
<title>@{formatDateTime(addHours(utcNow(),9), 'yyyy/MM/dd')}</title>
<meta name="created" content="@{formatDateTime(addHours(utcnow(), 9),'yyyy-MM-ddTHH:mm:ss+09:00')}"/>
</head>
<body>
<p> </p>
<h1>今日やった</h1>
<ul>
<li></li>
</ul>
<h1>明日やる</h1>
</body>
</html>
<p></p>
タグは何か入れてない場合は出力されないため、
でも入れておくと良いです。
本当は前日のページに書いた内容を一部コピー などやってみたかったのですが、これもまたFlowだけでやるのは困難なようなので諦めました(セクション名・ページ名をIDで指定しなければいけないうえ、前日ページのHTMLをパースする処理も必要になるため)。