2011年9月7日水曜日

pywin32 + Excel

pywin32でCOMでEXCELを操作するメモ。当然Windows上で実行が必要。

  • EXCELファイルを直接操作するタイプのライブラリで xlsx に対応したものが見当たら無かった(2011/09/07現在)
  • 既にEXCEL上で作り溜めたVBAを活用したかった
ということでpywin32。

※先頭が□なのはToDo。
  • pywin32をインストールする。インストーラはPythonのバージョン毎にあるので注意。
  • import win32com.client
  • xlApp = win32com.clinet.Dispatch("Excel.Application")
  • □特定のEXCELブックを開く方法が分からなかった。とりあえず手動で開く。
  • EXCEL内部の自作のPublic Subを動かすには xlApp.Evaluate("ModuleName.SubName()") 。モジュール名から指定しないと動かない。文を直接流すのは無理のようだ。
  • 外部からモジュールをインポート。 xlApp.VBE.ActiveVBProject.VBComponents.Import("pathotofile")
  • 現在あるモジュールを削除(確認無しで削除の模様) xlApp.VBE.ActiveVBProject.VBComponents.Remove(xlApp.VBE.ActiveVBProject.VBComponents("Module1"))
  • Evaluateを使わずに普通にコマンドを指定するのは出来る。

2011年8月12日金曜日

tweepy

install

synapticパッケージマネージャで ppa:chris-lea/python-tweepy を追加。
synapticパッケージマネージャで tweepy をインストール

GPGエラー

apt-get update でGPGエラーが出た場合は以下のようにする。

W: GPG エラー: http://ppa.launchpad.net natty Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY B9316A7BC7917B12



gpg --keyserver keyserver.ubuntu.com --recv-keys B9316A7BC7917B12
gpg: ディレクトリー「/home/hideo/.gnupg」ができました
gpg: 新しい構成ファイル「/home/hideo/.gnupg/gpg.conf」ができました
gpg: 警告: 「/home/hideo/.gnupg/gpg.conf」のオプションは起動している間、有効になりません
gpg: 鍵輪「/home/hideo/.gnupg/secring.gpg」ができました
gpg: 鍵輪「/home/hideo/.gnupg/pubring.gpg」ができました
gpg: 鍵C7917B12をhkpからサーバーkeyserver.ubuntu.comに要求
gpg: /home/hideo/.gnupg/trustdb.gpg: 信用データベースができました
gpg: 鍵C7917B12: 公開鍵“Launchpad chrislea”を読み込みました
gpg: 処理数の合計: 1
gpg:               読込み: 1  (RSA: 1)
gpg --armor --export B9316A7BC7917B12 | sudo apt-key add -
OK


  • $HOMEに .gnupg を作るので sudo じゃなくて自分のユーザで実行する
  • そうしないと gpg --armor ... で読み出せなくてコケる

補足

ubuntuをupgradeする時にはこの作業を再度やる必要があるかもしれない。

2011年7月6日水曜日

PIL

Google App Engine のページだがPILのインストールの説明がある。
PIL のインストール

2011年6月27日月曜日

ttf-ipamonafont release1.0.8-0ubuntu0ja3

参考:ubuntu 11.04でttf-ipamonafontパッケージのエラーの解消法 等

sudo apt-get remove ttf-ipamonafont
sudo apt-get autoremove
sudo apt-get clean
sudo apt-get update
sudo apt-get install ttf-ipamonafont

ttf-ipamonafontが依存していたopfc-modulehp-ipamonafont-sourceも削除する必要があった(autoremove)

2011年6月26日日曜日

diskのuuidを知る

ls -l /dev/disk/by-uuid
参考:UUIDを調べる方法

2011年6月25日土曜日

ubuntu では RedHatで言うchkconfig相当のは何て言うの?

update-rc.d

dump & restore

Ubuntuをシステムまるごとバックアップ、リストアするを参考参考にさせて貰ったと言うか、そのまま。
ここでは、既存のメディア(microSD 8G)は/dev/sdg。
新しいメディア(SDHC16G)は/dev/sde。
作業フォルダは母艦の/home/hideo。
既存のメディアはlinuxパーティションとスワップだけのシンプルな構成なので、1つだけあるlinuxパーティションをバックアップすればそれでお終い。

dump -0vf - /dev/sdg1 | gzip > /home/hideo/n10jc_ubuntu_11.04.dump.gz


新しいメディアは既存のを踏襲し、swapに1G程残して残りをlinuxパーティションに(fdisk)。そしてmkfs -t ext4 /dev/sde1 としてファイルシステムを作ってからマウント。
ボリューム名をubuntuとしたのでマウントしたら/media/ubuntuにマウントされた。/media/ubuntuをカレントにし、スーパーユーザになってから

zcat /home/hideo/n10jc_ubuntu_11.04.dump.gz | restore -rf -


あとはブートローダの設定。
sudo grub-install /dev/sde

で、/etc/fstabのuuidを新しいのに書き換えておく。ここがミソ。

そしておもむろに新しいメディアをターゲットマシンで起動する。すると、
grub rescure>
が出る。これは母艦の環境でinsall-grubしたから。おもむろに手動で立ち上げる。
ls
すると、ドライブ(?)がリストされるので1つ1つ試していく。当然ながらキーボードは英語キーボードになっているので注意。(はSHIFT+9、)はSHIFT+0、=は^の所。今回は
ls (hd1,msdos1)/
で、それらしきフォルダが表示された。次に手動で起動する。
insmod (hd1,msdos1)/boot/grub/normal.mod
normal
起動。遅いけど。これでえっちらおっちら立ち上げたら、立ち上げた
ターミナルの中で改めてinstall-grubする。母艦接続時とはデバイス名が変わってたりするので注意。今回は/dev/sdbだった。よって
sudo install-grub /dev/sdb
sudo update-grub
これで次回からはふつーに起動してくる筈。

高速化

さて、普通に起動するようになったら次は高速化を試みます。