日付と時刻を入れたいとき

ブログに情報を追記するときに、エントリの更新時刻は変えたくないけど、いつ追記したのかはわかるようにしたい、ということがある。

そういうときは「(追記)2008/02/10(日) 22:53」みたいな文字列を入れるといい。しかし使っているWindows Live Writerでそれを入れるにはどうしたらいいのか。プラグインをちょっと見たけどなさそうだし、途中でクリップボードに日付と時刻を入れるちょっとしたスクリプトを書けばいいじゃないかと思った。

しかし、調べていくとWindowsの標準的なスクリプト環境であるWSHはクリップボードにアクセスできないらしい。これは恥だと思わなければなりません。WSHはVBScriptとJScriptの2種類の言語が使えるらしいが、どちらも直接クリップボードにアクセスできない。しかしなぜか裏口があるらしく、(IE7/Vistaでも使えるかどうかは疑問だが)IEにクリップボードを読ませるという方法があるようだ。できるかもしれないけど、なんかこれは違うと思う。

クリップボードって、GUIで使うパイプみたいな基本機能じゃないすか。ローカルのスクリプトから使えないなんておかしな話です。

しょうがないのでwxPythonを見るとClipboardクラスで読み書きができる、ということで書いてみた。

Flush()を呼ぶことで、アプリケーションが終了してもクリップボードにデータが残るようになる。%aを日本語にするためのlocaleモジュールを使うところは調べにくかった。

試したところ、Linuxでもlocaleモジュールを使わないと曜日が英語になった。ただしLinuxだと"ja"ではなく"ja_JP.utf8"を使う必要があった。

2008/02/10(日) 23:12

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です