Skip to content
OnenoteとMi
sand-box
2022-01-10

要旨: MiからのOnenote読み書きを拡張中

日常のログ記録としてずいぶん前からMS Onenoteを使用している。
別にOnenoteが使いやすいと思っている訳では無くログ記録が必要になった頃に一番マシだったのがOnenoteだったわけで。
ほぼ毎日書いてはいるが、きちんと書いているかどうかはその日次第。ただ要所のメモに使っているので後々助かることも多い。
内容は日常雑記もろもろ。
以前はこの内容が公開されたらそうとう恥ずかしい(かつ迷惑がかかる人もいるかもしれない)と思ったのだが、
自身の死後であれば問題ないんじゃないだろうか と思うようになってきている。
(ちなみに私は過度の著作権的なものは否定的で、本人の死後は作成物はすべてパブリックドメインになるべきではないかと思っている)
ToDoを書いていた頃もあるが、今はToDoは完全にMiツール側に移行しており、Onenoteは考えの整理とか一時メモとかが主だ。

Onenoteの半自動記述は以前からしたいと思っていたのだがAzureのAPI操作をしなければならないので少し保留していた。
(以前MS ToDoの操作でいろいろいじっていて結構面倒だったし https://akibakokoubou.jp/2020/10/25/microsoft-todoは「今日の予定」をapiで取得できないらしい/ )

今回、音声発声サーバーをMS Power Automate Desktopで結構うまく作れたので、Onenoteの自動記述もその延長で作れないかと検討した。

完全な製品版MS Power AutomateそのものはOnenoteの操作の機能もある。ただその機能はビジネスライセンスがないと使えないらしい。。。 (個人向けOffice365のサブスクリプションぐらいではダメらしい)

で、Power Automate Desktopでいろいろやってみたが挫折した。。。

読み書きするときにOnenoteのページを選ぶ必要があるが、Onenoteアプリからはページの識別idはわからない。
なのでページを選択するのに検索機能を使おうとするのだがOnenoteアプリの検索機能はUIが特殊でPADから操作するには複雑すぎた。
例えば 2021/01/09 のページを選ぼうとして 2021/01/09 で検索しようとすると 2021/09/01 も候補で上がってくる。他にも2021が入っているページや01が入っているページとか山ほど出てくる。。。 そのほかにも似たページを勝手におすすめしてくる。 さらに上がった候補がおすすめなのか完全一致なのかがPADのスクリプトでは把握しずらい。ほとんど識別できない。 変にこの検索操作のUIだけ奇妙な作りなのだ。 よりシンプルなOneNote for Windows 10でも状況は似た感じで さらに検索の動きの特性がOneNoteアプリとも異なる (さらに言うとOneNoteとOneNote for Windows10の作り分けがよくわからんし、OneNoteも一時期開発中止とか言っておきながら Office365で今でも配信してるとか内部もぶれてる気がする。過去データがなければ本当にOneNoteはどうにかしたいのだが)
つまりPADのRPA操作では安定にOnenoteの読み書きは困難(やっても徒労)ということがわかった。。。

で、今はMS ToDoの操作用に作り込んでいたMS Graph APIの操作の仕組みを持ってきて、Onenoteの操作を組み込んでみた。
独特の癖はあるがはるかに安定していて、とりあえずこれならばよいかな というところ。
MS ToDoのときにやった調査がとりあえず復活的に役だったというか。

ToDoツールでの現時点のToDo管理と履歴記録は非常にうまくいっているので、まずOnenote読み書きでやるべきは メモも含めたToDoの遷移みたいなところ。そのとき何を思いながらToDoを追加/完了してたかは情報として別の側面がある。
あとAIとの対話ログみたいなものにも使えるだろう。直の対話はSlackや音声コマンドでやるとして、対話ログとその過程の記録には Onenoteでデイリーに区切るのはよい手に思える。

直の応用については、少し何がよいかを考えながら拡張してみよう。