タグ:windows ( 3 ) タグの人気記事

CDOにバグ?

http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_800_080.html
にあるようにwindows2000以降のwindowsには「CDO」という機能があります。
(環境がないので、VISTA,office2007で検証していません)

ところがwindows2000、office2000の環境でこの機能使うと起動元のプログラム(EXCEL、ACCESS)
のプロセスが残ってしまった。
いろいろためしたが、残念ながら解決しない。

「basp21」使えばこんな苦労しなくてもいいんだけど。
[PR]
by nora1962 | 2009-11-10 03:47 | PC

かな文字の小文字→大文字変換

tr/ァィゥェォャュョッァィゥェォッャュョヮヵヶぁぃぅぇぉ/アイウエオヤユヨツアイウエオツヤユヨワカケあいうえお/を実行するのにどのようにすれば速いか。(VBAで)

ネットで
http://pxp.seesaa.net/article/7500794.html
を見つけた。文字列サーチして変換する王道だろう。

一方、思いついたのはBASP21を使う手抜き。

Function Z(S)
Dim BOBJ As Object
dim i as long
Set BOBJ = CreateObject("basp21")
I = BOBJ.TRANSLATE("tr/ァィゥェォャュョッァィゥェォッャュョヮヵヶぁぃぅぇぉ/アイウエオヤユヨツアイウエオツヤユヨワカケあいうえお/k", S, Z)
End Function

これで比較したところ面白いことが分かった。
変換する文字列が短いうちは文字列サーチのほうが速い。
しかし、文字列長が長くなっていくと、その差は縮まり、20文字程度で逆転してしまう。
ネイティブコンパイル、中間コードに落とせる環境ならば違った結果が出るのだろうが、VBAではループ、文字列サーチは結構荷が重い処理なのだろう。

しかし、逆転するとはいえ20文字程度の変換ならば百万回のループ処理で15~30秒程度だから、実質上ボトルネックになることはないと思われる。
[PR]
by nora1962 | 2009-02-25 07:48 | PC

fastcgi

WindowsXPにApache2.2を入れて遊んでいた。
Fastcgiというのに興味を引かれて挑戦してみたけど、これがどっぷりはまってしまいました。

Windows環境でのFastcgi構築はネットで検索しても、どれも中途半端なものが多く、例示通りやってみてもApacheが起動しなくなったり、スクリプトが「Internal Server Error」を起こしてくれるようなもが多く完全に途方にくれてた。
そんな中でのトライアンドエラーでうまくいったのが
http://d.hatena.ne.jp/h4y/20080225/1203946284
を参考にしたやつ。
http://www.fastcgi.com/ から mod_fastcgi-2.4.6-AP22.dll をダウンロードして
名前mod_fastcgi.dllに変更して$Apache/moduesフォルダにコピー。
後はhttpd.confの編集。

LoadModule fastcgi_module modules/mod_fastcgi.so

<Location /fastcgi>
SetHandler fastcgi-script
Options ExecCGI
</location>
あとは適当に
<IfModule fastcgi_module>
FastCGIConfig -autoUpdate -idle-timeout 120 -killInterval 3600 -maxClassProcesses 3 -maxProcesses 15 -startDelay 30
</IfModule>
を指定しておいた。
[PR]
by nora1962 | 2008-12-24 04:56 | PC