2011年10月4日火曜日

EXCEL:再計算という不幸自慢。

再計算に何分も掛かるという不幸を愚痴るのを聞くことがたまにある。
でも、もっと時間を掛けてデータの持ちかたや、そんな巨大な表が本当に必要なのか考えるべき。
っていうか、Accessのほうが良くないですか?

2011年9月30日金曜日

EXCEL VBA:UserFormの表示位置変更

セルに値を入力するフォームを作成したが、Windowサイズよっては、入力対象のセルにフォームが重なるのでフォームをクリックしたときに適当な位置にフォームが寄るようにしようと思った。
最初はActiveなブックの中のオブジェクトの座標を取得してその脇に移動すればいいだろうと思ったが、そう都合よくことが運ばなかった。
フォームのポジションは画面の左端からの位置で、Activeなブックの中のオブジェクトのポジションはブックの左端からの位置だった。
従って、適当な位置にフォームを移動させるには、Activeなブックの左端のポジションを取り出す必要があったが、ActiveWindowのプロパティにleftという都合のよい要素がなかったので、フォームの位置とActiveWindowのwidthに補正値を加味した値を、フォームの移動先とする案が浮かび以下のようなマクロを作成した。

'-- サンプルマクロ
Public lockval As String

Private Sub UserForm_Click()

Dim leftstart As Long, center As Long, hosei As Long, mvpos As Long

'初期値
leftstart = UserForm1.Left

'ActiveWindowのセンター(相対的なセンター)
center = ActiveWindow.Width / 2 -  (UserForm1.Width / 2)

'移動位置の補正値(適当な値)
hosei = 320

'フォームの移動
mvpos = (leftstart + hosei) - center
'mvpos = (leftstart) - center 'ActiveWindowのleft

If lockval = "" Then
UserForm1.Left = mvpos
lockval = "lock"
End If

End Sub

2011年9月10日土曜日

solaris:testコマンドで-Lが使えない。

if [ -L $link ]
   then
        echo ok
   else
        echo ng
fi

上記のようなシェルを実行すると、argment expectedと怒られる。 他のOSでも動かしたかったので(動かしたいのは上記シェルではない)、uname -sの結果がSunOSだったときは-hでtestコマンドを実行するようにした。
testのmanページには、-Lが記載されているのになぜと思って色々調べたりしている過程でふとkshで実行してみようと思い、以下のコマンドを実行してみた。
# ksh
# test -L link
# echo $?
0

次回からはkshだなぁと思ったそんな話し。

2011年2月17日木曜日

Linux:DELLのubuntuマシンにCanon iP4700ドライバを入れる。

キヤノンのサイトから、debianパッケージのドライバをダウンロード、解凍し同梱のシェルを実行したが、アーキテクチャの不一致で異常終了してしまった。
色々、ググったりドライバの取説を眺めたりした結果、以下のことを行った。
※i386とlpiaは完全互換ではないが似通ったものらしい。

(1)iP4700を別なドライバで認識させていた場合は、当該プリンタを削除する。

(2)同梱のシェルの編集
dpkgコマンドでドライバをインストールしているので、シェルを開き、dpkgを検索し、dpkg -iG に--force-architectureを追加。

(3)シェルの実行
$ su -
# ./install.sh

ここで、アーキテクチャが合わないというエラーが表示されるがスキップされる。

(4)プリンタの認識
プリンタの設定で、プリンタを選択して、データベースからiP4700のドライバを選択。

(5)テストプリントの実行

2011年1月27日木曜日

レシピ:ミートソースのフジッリ。

2人前

挽き肉 100g
アラビアータソース 適量(ホールトマト1缶でトマトソースを作ったとしたら半分)
トマトベースの野菜ジュース 100ml
固形ブイヨン 1個
植物油 大さじ1/2
フジッリ 160g

1.フジッリを茹で始める
2.フライパンに油を引き、挽き肉を炒める
3.アラビアータソースと野菜ジュース、ブイヨンをいれ煮る
4.ソースの味をみて塩などで調整する。
5.フジッリが煮えたら、水を切りフライパンに投入し、よく絡める。

2010年7月27日火曜日

Linux:ophcrackの使い方。

揮発性の高い自分の脳への対策としてのophcrackの使い方メモ。

(1)以下のファイルをダウンロードし、/tmpなどに保存
・ophcrackのアーカイブファイル
・レインボーテーブルのアーカイブ
 →XP_Free_fastで700MB超なので意外とばかにならない大きさ。

(2)readmeを読みながら、インストール。

(3)WindowsでのC:\のボリュームを/mnt以下にマウント
 デバイス名は、dmesgで判るはず。

(4)/usr/local/bin/ophcrack を実行

(5)メニューのload → EncryptSAMを選択
 C:\を/mnt/hda1にマウントした場合は、以下のように指定
 /mnt/hda1/windows/system32/config/


#Live CD|Live USBの場合はレインボーテーブル同梱だったと思うので、さらに簡単なのでそっちのほうをお勧めする。

2010年7月20日火曜日

Windows:SET /a で小数点が使えない。

以下のような計算をsetで行うとエラーとなってしまう。
始めは構文を間違ったのかと思ったが、ヘルプを読むと
10進数、16進数、8進数が扱えるとなっている。


C:\>set /a 1000*1.05
演算子がありません。


なので、小数点は扱えないので、上の式の値を出したい場合の例は


C:\>set /a 1000*105/100
1050


のように、1.05を100倍しておいて、100で割るみたいな方法になるのかなと。
あと、出力される値についても小数点以下は表現されず、切捨てとなるので注意したい。
#注意って言うか、SETコマンドに小数点以下を求めるなっていう話かも。

フォロワー