Evernoteで上限のノート数10万を越えるので、対策方針を決定した

2010年3月に使い始めたEvernoteは、毎日のあらゆるものを送り込んで順調にノート数を増やし、先日ついに上限に達してしまった。


ゴミ箱がローカルだと思ってたのが誤解で、ゴミ箱もサーバ上で管理されているためノート数に入る。ノートのマージをすると元ノートはゴミ箱に入るので注意。
OneNoteに逃がす手も考えたが、移行ツールのプレリリース版をためしたところ97000ノートのうち15000ノートぐらいしか移行されなかったので没。

というわけで、いろいろ検討した結果、下記方針で問題ない運用ができそうだという結論に達した。

  1. Evernoteの追加アカウントを取得する。これはとりあえず無料でかまわない。
  2. 追加アカウントに保存したいノートブックを作成して元アカウントに共有する。
    ルールを決めて接頭語をつけるなどして元のノートの同じ目的のノートブックと識別可能な名前にしておくとよさそう。数字を頭につけて管理してる場合、Winアプリ版とウェブ版でソート順が変わるので注意。Winアプリは数値として評価し、ウェブ版は字面だけを見るので「40xxx」と「140xxx」だと順番が逆転する。前者を「040xxx」とすれば無問題。共有後に名前を変更しても共有先でちゃんと反映される。
  3. 元アカウントではすべてのノートブックを追加アカウントに共有する。
    このあたりの作業を行う場合、別ブラウザで両方サインインした状態でリフレッシュしながらやると楽。僕の場合はChromeFirefoxを使ってる。
  4. 元アカウントから、ノートの移動で追加アカウントから共有してるノートブックに移動する。
    この時、編集履歴とノートリンクは失われるが、作成日時は保存される。エクスポート&インポートの方法だと作成日時がインポートの日時になるという問題があるが、移動だとそれはない。さらにエクスポート&インポートの方法だと元ノートをいつ削除するか悩ましいが、共有ノートブックに移動なら移動済みノートはゴミ箱に入ってるので、それを削除するだけ。
  5. 移動はサイズが小さいものを優先的に行うとノート数が稼げる。月末に追加アカウントの容量いっぱいまで移動する手でいくのが吉か。
    なお、無料アカウントの場合メールでの追加はお試しの5通しか使えないそうなので、この時点でメールの転送先としては利用しない。ちょっと手間だが、元アカウントに転送されたものを移動すれば良い。

この状態で検索を試したところ、ノートブックを指定しない検索では共有ノートブックの中にあるノートはヒットしなかったが、共有ノートブックを指定して検索すればヒットした。
これはプレミアムで使ってる元アカウント上でも、無料で使ってる追加アカウント上でも同じだった。

こうして今回の10万件問題は解決したが、同じ使い方をしていればまた6年後に同じ問題が起きる。
Evernoteは無料アカウント一つを含む複数アカウントを保持できるので、メールアドレスと料金さえ払えばOK。

ここで問題になるのはメールアドレスをいくつ持っているかということ。
僕の場合、ずっと使ってるプロバイダのメールアドレスの他にはGoogleのが一つと、PHSのメールがある。PHSのはYモバイルからのDM受信専用になってて実際には使ってない。
まだ先のことだけどどうしようかなぁと思ってググったら、素晴らしい方法がヒットした。
ひとつのGmailアドレスを複数アドレスのように使える3つの方法 ― 同じSNSサービスなどで複数アカウントを取得するのに便利! | LIFE GOES TO A PARTY
これでいくつでもいけまっせ。

って、Evernoteはどうやって複数アカウントが同じ人の持ち物だと判定してるんだろうか?
この方法で複数の無料アカウントを持てたりする?
ひとつのメールアドレスで複数アカウントを取得する方法が見つけられなかったのでこんな悩みになってるのだが、とりあえず使い続ける障害はなくなった。
めでたしめでたし。

『Evernote豆技50選 (Espresso Books) Kindle版』 倉下忠憲

ツイッターのタイムラインに、お得になったタイトルとして出てきて、なんか役に立つことがあればと思ってポチッと。
錦織の試合を見ながらちらちら見てて、試合終了後さくっと読了。
50選と書いてあるけど、特にナンバリングしてあるわけじゃないのでいくつあったか不明。
いや、それはどうでも良くて、とりあえずなるほどと思ったのはここらへん。

  • タグ付けにも接頭語を使って分類する
  • 終了したプロジェクトのノートブックは、そこのノートに共通のタグ付けをしてアーカイブ系のノートブックに移動し、ノートブックは削除する
  • リマインダーを使って自由に順序を決める
  • 「目次ノートを作成」の使用。Win版6を見たら、確かにこの機能がある。いつからあったか知らないが、使えそう。
  • 「箇条書きリスト」で目次ノートの構造化

とりあえず勉強になった。
筆者がMac環境ってことで、キーボードショートカットはMacしか載ってないんだけど、ブログの記事ならともかく売り物にするんだったら対応するWindows版のキーボードショートカットも載せて欲しかったな。
ただ、Win版はMac版より遅れてるらしいので、執筆時点で対応する機能がまだ存在しなかった可能性はあるが。

Evernote豆技50選 (Espresso Books)

Evernote豆技50選 (Espresso Books)

Microsoft Outlook 2007の送信メールを自動的にEvernoteに登録する(自動的にBCCに送り先を追加)

以前、Microsoft Outlook 2007の送信メールを自動的にEvernoteに登録するというのを書いて、今でも時々アクセスがあるのだけど、もっとずっとかんたんでいい方法があった。
ちょっと制限事項があるけど。

ここにあった自動的にBCCにアドレスを追加する方法。

1.OUTLOOKを開いてAlt+F11を押す
2.VBAエディタが開く。左上のツリーを開いて(なにもいじったことなければProject1という名だと思う)、ツリーに出てきたOUTLOOKのアイコンを右クリック→コードの表示
3.以下のコードを張って閉じる。以上。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMe As Recipient
Set objMe = Item.Recipients.Add("myaddress@mydomain.dom")
objMe.Type = olBCC
objMe.Resolve
Set objMe = Nothing
End Sub
※ myaddress@mydomain.domはBCCで送りたいメアドに変えてください。

OUTLOOK BCC仕訳ルール作成 - ネットワーク管理者のMemo @ ウィキ - アットウィキ

追加するアドレスを、Evernote投稿用のメールアドレスにすればOK。
僕の方法ではHTMLメールには対応してなかったが、この方法だとメールの形式には関係なく、送信メールは全部Evernoteに送り込まれる。
ただし、そのほかの送信先(そっちが本来のメールの宛先)がどうも記録されないようなのがいまいちか。
何かいい方法がないかな。
とりあえず、この方法はなかなか良いです。

Evernoteのノート数の上限が10万だという話

最近Twitterで教わったけど、Evernoteのノート数は、上限が10万ですって。
使い始めて約2年、今現在46,000を越えていて、ってことはあと2年ぐらいで10万の上限に当たるわけだ。
上限に当たったらどうなるんだろうと思ってググってみたら、すでに当たってる人がいた。
Evernoteのノート数が上限である100,000ノートに到達しました - s_z_k_3's Scripts in Tumblr.com
むう、今でもしょっちゅう死にまくり(Windows版)だが、やっぱりここでも死ぬのか。明らかに品質に問題があるが、まあ、それはどうでもいいこと。
さらにググったら、とりあえず逃げ道があった。
http://itamiwake.blogspot.com/2012/01/oha-rssevernote-evernote-windowsmac.html
なるほど、別アカウントをとって共有するわけね。
非常時の逃げ道はわかった。
でもまあ、そうなったら当然プレミアムはやめちゃうわけで、Evernote側としてはそんなことのぞんでないだろうから、
さっさと上限上げてね

PDFCreator 1.0.1、1.0.0日本語版が出てることに気づいた

昨日のことだけど、久しぶりにPDFCreatorを起動したら、1.0.1が出てるよ〜んと言うメッセージ。
pdfforge | PDFCreator – FREE PDF Converter, PDF Printer, PDF Writer, PDF Download
早速落としてみたものの、日本語対応じゃない。日本語版を見に行ったら、こっちはまだ1.0.0だった。
PDFCreator 日本語対応版
日本語版の記事に従って、1.0.0をダウンロード。
PDFCreator - Browse Files at SourceForge.net
以前トラブったのが解決したと書いたけど、実はやっぱり何かが足りないらしくいまいちだったんですよ。今回はそれが根本的に解決。設定画面を開いても落ちない。うれしい。
というわけで、きちんと設定して印刷からPDFを生成してノータッチでEvernoteに送り込めるようになった。

PDFCreatorを使って、Evernoteに印刷する設定ができない件解決

PDFCreatorを使って、Evernoteに直接PDF出力を登録する件
http://r.nanapi.jp/1768/
VAIO type Pではうまくいったのに、ThinkPad T61ではなぜかPDFCreatorのoptionsメニューを開こうとするとPDFCreatorが落ちてしまう現象に悩まされてた。
ぐぐっても解決策どころか、同じ悩みを抱えてる人すら見つからず。
でも設定ができないだけでPDFCreatorのセットアップはうまくいってるんだから、設定だけなんとかすればいいんだよね?と、気持ちを切り替えて、regeditのお世話になった。要するに、うまくいってるPCのレジストリ情報をエクスポートして、設定できない方のレジストリにインポートしてしまえばいいのだ。
というわけで、とりあえず対象にしたレジストリはこのあたり。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\Evernote]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Environments\Windows NT x86\Drivers\Version-3\PDFCreator]

これでとりあえずプリンタの選択肢に登場したEvernoteに出力したら、無事Evernoteに入った。
めでたしめでたし。
いや、なんで設定ができないかが解決してないんだけど。

Microsoft Outlook 2007の送信メールを自動的にEvernoteに登録する

完全にEvernoteにはまってます。初めて導入して、数日後には有償のプレミアムに変更してました。
印刷からEvernoteに突っ込む方法も、PDFCreaterPDFCreatorを使う方法を知り、解決。
http://r.nanapi.jp/1768/
ありがとうございます。
あとは、Outlook 2007のメールを自動的に取り込めるといいのだけど、残念ながらEvernoteは自動仕分けツールで利用できるカスタムアクションになってません。じゃあどうするかということで、着信や送信のタイミングでスクリプトを実行する方法に挑戦。
参考にしたのはここら辺。

PDFCreaterの設定でも使われてますが、Windows版をインストールすると一緒にインストールされるENScript.exeを使うと、テキストファイルを自由に突っ込める様子。

Usage: ENScript createNote [options]

Options:

/s file - file containing the plain text note contents. If omitted, note contents are read from standard input.
/n notebook - notebook to create the note in. If does not exist, lazy create.If omitted, use default notebook.
/i title - specifies note title. If omitted, note title will be generated automatically.
/t tag - specifies note tag. If tag does not exist, lazy create it. Use multiple /t options to specify multiple tags.
/a filename - specifies file attachment. Use multiple /a options to specify multiple file attachments.
/c dttm - note creation date/time. { "YYYY/MM/DD hh:mm:ss" | filetime }. If omitted, use current time.
/u username - user name if not the same as database file name.
/p password - user password to confirm Evernote service access.
/d database - database file name if user name is not specified.

If both database file name and user name are not specified, last login name is used and
if there is none, USERNAME environment variable value is used as a user name.

Alt+F11でVisual Basic Editorを開き、下記コードを貼れるようにするのにちょっとじたばたしちゃって、実はどうやるのがいいのか、今ここではっきり示せません。とりあえず下記コードを貼ってMsgBoxで動きを確認しながら手探りで動かしていきました。
貼るのは、[Project1]-[Microsoft Office Outlook Objects]-[ThisOutlookSession]です。ツリーを展開していって、[ThisOutlookSession]をダブルクリックすると、貼れる画面が開きます。

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim strENpath, strENS
    Dim oMail As MailItem
    Dim myDate As Date
    Dim myTime
    Dim strOutfile As String
    
    Set oMail = Item
    myDate = Date + Time
    
    ' テンポラリのファイル名をつくる
    strOutfile = Environ("tmp") & "\myENO" & Format(myDate, "YYYYMMDDhhmmss") & ".txt"
    
    ' メールを出力
    Open strOutfile For Output As #1
'    Print #1, "From: "; oMail.SenderName   'うまくいかない?
    Print #1, "Sent: "; Format(myDate, "YYYY/MM/DD(aaa) hh:mm:ss")
    Print #1, "To: "; oMail.To
    Print #1, "CC: "; oMail.CC
    Print #1, "BCC: "; oMail.BCC
    Print #1, "Subject: "; oMail.Subject
    Print #1, ""
    Print #1, oMail.Body
    Close #1
    
    strENpath = """C:\Program Files\Evernote\Evernote3.5\ENScript.exe"" createNote"
'    strENS = strENpath & " /s """ & strOutfile & """ /i """ & oMail.Subject & """ /c """ & Format(myDate, "YYYY/MM/DD hh:mm:ss") & """ /n テスト "
    strENS = strENpath & " /s """ & strOutfile & """ /i """ & oMail.Subject & """ /c filetime /n 送信メール"
    
'   MsgBox "EverNote: " & strENS
    
   ' ENScript を呼び出して登録
   Dim rtn
   rtn = Shell(strENS)

    ' テンポラリの後始末をしてません
End Sub

テンポラリファイルの後始末をしてません。実はセキュリティ上まずいかも。また、署名のないスクリプトも実行するように設定しないと動きません。
いろいろ問題があるので、もし使うなら自己責任でお願いします。
これだけの情報で動かすことができなかったら、多分使わない方がいいです。

->自動的にBCCに追加して送り込む方法