2025年にストアアプリ版のサポートが終わるらしいOneNoteユーザーの皆様、いかがお過ごしでしょうか。
OneNoteはとても良くできたツールですが、プログラムコードのシンタックスハイライト機能もなく、かといってペンツールや音声読み上げは使い所が分からない。
帯に短し襷に長しというツールであります。
今回、6年使用したOneNoteから移行する決心を固めたところ、markdownにエクスポートするツールを知ったのでその使い方を記事にします。
変換ツールと必要アプリのインストール
Powershellスクリプトです。OneNote側で1ページ1docxに変換したあとpandocでmarkdownに変換しています。
githubからDLします。
pandocをインストールします。Chocolateyを使いました。
OneNote 2016をインストールします。アプリストア版では使えません。
OneStaticをインストールします。閉じたセグメントはエクスポートの対象にならないので、全て開くスクリプトを使うためです。
設定
DLしたらps1
スクリプトをエディターで開き、該当箇所を編集します。
スクリプトをUTF-16LEで保存することで日本語名のノートブックも指定可能になります。
-
$targetNotebook = ''
: ノートブックの名前。指定なしで全ノートブック対象 -
$usedocx = 2
: 2に設定すると既存のdocxを使って変換するようになる。はじめから2を指定する -
$keepdocx = 2
: 2でdocxを削除しない。usedocxで使い回すので2 -
$prefixFolders = 2
: サブページは「Page_Subpage.md」のようにprefixesをつけて保存する -
$medialocation = 1
: 1なら画像はノートブックごとのルートのmediaフォルダにまとめる。2ならページごとに作る。あとで全て同じフォルダにノートを移動する予定なら2
markdownの変換設定
# Specify the conversion type
# 1: markdown (Pandoc) - Default
# 2: commonmark (CommonMark Markdown)
# 3: gfm (GitHub-Flavored Markdown)
# 4: markdown_mmd (MultiMarkdown)
# 5: markdown_phpextra (PHP Markdown Extra)
# 6: markdown_strict (original unextended Markdown)
$conversion = 1
標準はpandoc。ここは色々試してみましょう。
実行手順
- 全ての閉じているセグメントを開きます。
付属のExpand all Paragraphs in NoteBook.xml
をonentoe 2016のアドオンOneStatic
に読み込んで使用します。要インストール。 - OneNote 2016を管理者権限で開きます。
- PowerShellを管理者権限で開きます。(私の環境ではこの作業が必須でした)
- Powershellで
ConvertOneNote2MarkDown-v2
を実行する。 - 初回はdocxに変換するのでかなり時間がかかります。変換終わるまでお茶でも淹れてデスクから離れよう。
出来上がったmarkdownを見て、気に入らなかったら「markdownの変換設定」を色々変更して試してみましょう。
変換後
markdown形式に変換されていますが、OneNote側でペンツールを使ったところは全てペンが画像に変換されています。ほぼ使い物になりません。
テーブルは凝ったことをしていなければだいたい変換できています。
画像はサイズ指定のタグがついていたり、imgeタグになっていたりします。ここはpadocのmarkdownのtype設定によって異なります。
markdown管理ソフト
変換したmarkdownを管理・編集するソフトです。いろいろあります。
私はVisual Studio Codeにしています。正規表現による一括置換が出来るし使い慣れたエディターなので。足りないところは拡張機能を使って補完しています。vs codeでmarkdownを編集する環境が整ったら記事にするつもりです。
おわりに
この記事を書いている段階で2週間近くOneNoteを立ち上げていません。6年という長いあいだ使い続けてきました。ありがとうOneNote。