goo blog サービス終了のお知らせ 

まず持ってから

「もちつもたれつ」「ギブアンドテイク」でもいいんだけどまず”もって”から、つーことで

TOP SECRET

2007年08月26日 22時45分22秒 | Windows
MacOSX 10.5 leopard
いろんな新機能とか楽しみです。とりあえずXP買って待っています。
新しい開発ツールとか、フレームワークとか、楽しみといえば楽しみなんだけど、最近全然Mac上で開発してないし、情報集め自体も2chで開発スレを見るくらいで、全然集めてない。Safari for Win がこのあいだ公開され、一部ユーザが内部で使われているdllを使っているのを見ると、「そうね、楽しそうね、Windows上でもcocoaをやって見たいな」と思っているんだけど、なかなか、放置状態。

予定では、10.5が出たら、メモリ、HDDを最大にしたMacBookを買って、Paralellsなんかの仮想環境を整えて、Windows(とELFなLinuxも?)も共存する環境を作って趣味の開発環境を構築しようかな?なんて考えています。

最近気にしてるのは、WSHやCOMとかWindows開発の旬ではない分野だし、autoconfなんかのためにPerlの勉強しなきゃ、なんて考えているので、XCodeなんか使うのだろうか?なんてことも考えています。

10.5の情報のうち、漏れ聞こえてこないモノとして「TOP SECRET」があります。
SECRET なんだから秘密なんだろうけど、何なんでしょうね?VISTAプレインストールマシンでしょうか?BootCampあるし、10.5発売延期はiPhoneとVISTA環境普及待ちのために発売延期だったら、何か不思議。

Appleとしたら、もう名実ともにパソコンメーカではないわけだし(売り上げ的にはパソコン【も】売っているブランド)、ハードの上に載っているものがWindowsでも究極の差別化のツールとして「MacOSX」があるし、ハードのデザインに魅かれているユーザも一定数いるし、これでイケるんじゃないの?

オイラ的にはAppleがつぶれなければWindows【も】載ってるPCを売っても全然OKです。

圧縮

2007年08月15日 23時21分03秒 | Windows
C:\Documents and Settings\[なまえ]\SendTo
に右クリックした時にでるメニューの「送る」の項目がおいてある。この中に「圧縮 (zip 形式) フォルダ.ZFSendToTarget」がある。プロパティで確認してみると、サイズ0 のファイルだ。ダブルクリックしてみると「・・・ファイルを圧縮するにはこのアイコンにドラッグします。・・・」のメッセージが出る。確かにドラッグするとZIPで圧縮したファイルが出来る。「ファイルサイズ0」からわかるとおり、なにか圧縮プログラムではないことは確かだ。

ためしに、空のファイルを作り、その拡張子を「.ZFSendToTarget」にしてみる(ファイル名は適当)と、同じく圧縮機能があるファイルになる。ググッてみると、拡張子「ZFSendToTarget」はレジストリに登録してあり、ドラッグされることで圧縮できるWindowsの機能のようだ。#圧縮機能自体は %windir%\system32\zipfldr.dll が行っている、らしい。

「こりゃいい。DOS窓やVBS,WSHからこの機能を使えないかな?」とDOS窓から「ZFSendToTarget」拡張子を持ったファイルを起動させてみても、「・・・ファイルを圧縮するにはこのアイコンにドラッグします。・・・」のメッセージが出るだけ。圧縮したいファイルを引数で渡しても駄目。cygwin上からパイプでつないで渡しても駄目。zipfldr.dll を使うプログラムを書かないと駄目なのかなぁ、、、よくわからん。

Excelでメール送信その2

2007年08月07日 06時55分16秒 | Windows
前にExcelでメール送信

 「OLE経由でOutLookを使ってメール送ればいいんじゃねーの?でもこれだと送信確認ダイアログが出るしなぁ・・・」

なんて書いてたけど、ふと思った。
「OutLookでメールを送るときはこんなダイアログ出ないしなぁ、OLE経由でOutLookを使ってるから駄目なのかな?なら逆にOutLookからOLE経由でExcelを使ってメールを送ったらどうだろ?」

OutLookのマクロからフォームを追加して、その上にOffice SpreadSheetを貼り付けて、同じ事を試してみたら、確認ダイアログが出なかった。ラッキー

このやり方のいいところは、OutLookの設定がそのまま使えるのでアカウントなんかの設定UIはOutLookのモノをそのまま使える。問題点としては、OutLook(withOLE経由でExcel)だと、ファイルを持ち運んで環境を持ち運べない、ことかな?

やっぱりCDOのほうがいいなw

domainユーザでcygwinをつかう

2007年08月05日 23時00分07秒 | Windows
便利な環境としてcygwinもつかってます。

趣味の個人PCではなにも考えずに setup.exe を使って環境が構築出来るけど、仕事なんかの環境でアカウントがdomainUserアカウントだと、setup.exe を使ってインストールした後、どうも最初に、 /etc/group, /etc/passwd を作ってやらないと駄目みたい。初回起動のときにメッセージが出てるけど、知らないとスルーしてしまい、なかなか気が付かない。

この初回のメッセージは、/etc/profile の中の後半部分のメッセージが出てるのかな?現在のユーザーアカウントをみて表示してる処理が後半部分にある。

確かに、このメッセージのとおりに実行すると、domainなんてまったく気にしてなかった趣味のPCと同じく c:\cygwin/home/[acount] 以下から起動して、.bashrc なんかも読み込まれているみたいだ。

この処理が必要かどうかの判断は、/etc/profile でやっているように、
%id
を実行し、自分のuid,gidなんかを確認してみればいい。mkpasswd,mkgroup なんかになっていれば、メッセージのとおり、
%mkpass -l -d > /etc/passwd
%mkgroup -l -d > /etc/group
を実行してしばらく待てばいい。#どうも処理に時間が掛かる

他にも touch かなにかで仮のファイルを作ってみて、そのファイルのgid なんかを確認してもいい。

趣味ではdomain持ちのアカウントなんか使わないから最初、何が起きてるかわからなかったな。たまたま、grepで適当に検索かけてたら、/etc/profile がヒットしたから解決したけど・・・良かった良かった

firefox

2007年08月04日 22時01分30秒 | Windows
お気に入りのソフトのひとつ

タブ機能:
SafariでTABブラウザ機能が欠かせないと思っていたので、この機能のために firefox を使い始めた。タブ機能のメリットは検索したときに特に実感できる。検索結果一覧画面から関係ありそうなリンクをタブで次々と開かせておいて、ほしい情報かどうかどうかを検索結果を残したまま確認できる。リンク先のページを開いている時間は裏でダウンロードしているのでユーザーはその時間をあまり気にならない。

DownThemAllプラグイン:
ページに関連データへのリンク一覧が表示されている場合があります。資料一覧がPDFへのリンクで並べてあるとか、各種データがcsvの形で並んでいるとか、etc,etc。 このようなリンクを全部ダウンロードしたい場合、1つ1つ「リンクを保存する」なんてやらずに、DownThemAllで一度にファイルをダウンロードできる。慣れるととても便利。#画像の一括ダウンロードにも使えるしw

フレーム分割プラグイン:
タブ機能だと別のタブフレームで表示させられるけど、別フレームなので見比べたいときなんかにはちょっと不便。こんなときにはフレーム分割機能で同じウインドウ内に並べて表示させる。Excelでのウインドウ分割機能みたいにフレーム毎に別の位置が同じ画面に並べて表示できる。それ以外にも、フレーム毎に別のページを表示させられるし、分割の分け方も、分割の分割の分割・・・と再帰的に分割することも出来る。この機能を使えば AcrobatReader では出来ない形でのPDF表示も可能になる。

英単語翻訳:
IEでも google toolbar を入れれば出来るけど、マウスポインタを英単語に合わせるとその単語の日本語訳を tooltip で表示してくれるのがうれしい。どうしてもプログラムを作るときは英語は避けて通れないけど、こ機能のおかげで英語の解説も何とか斜め読みが出来るようになった。なんとなくでもイメージがつかめれば、実際に動かしてその機能を確認できる。

あと、個人的にほしい機能は
・プログラムのソースコードを表示させたときにエディタがしてくれるようにキーワードに自動的に色をつけてほしい。これはCSSを用意すれば出来るのかな?
・ExcelVBA見たいにプログラムでカスタマイズ出来る機能がほしい。javascript みたいなものでもいいけど、なんだろ、少し違う感じがするな?

まだ私の知らない使い方もあるのでしょう。
ありがたい時代です。

Excelでメール送信

2007年07月23日 23時02分09秒 | Windows
ExeclでVBAを使ってメール送信を送る方法

おそらく適切な方法では
・CDOを使う方法:サンプル
・BASP21利用:サンプル
・(VBAだけど)Win32APIを使う。

などがおそらく良い方法でしょう。
もちろん他にもあるでしょう。

一番手軽な方法としてOUTLOOKをOLE経由で使えばいけるんじゃない?と思って色々試してみた結果、イマイチだけどまぁこんなもんか、と思える印象を持ちました。

 Set myOlApp = CreateObject("Outlook.Application")

 Set myItem = myOlApp.CreateItem(olMailItem)
 myItem.BodyFormat = olFormatPlain
 myItem.To = "hoge@hoge.com"
 myItem.Subject = "メール件名"
 myItem.Body ="メール本文"

工夫した点はここから。

 myItem.Send

を使うと迷惑メール対策・ウイルス対策でしょうか、メール送信確認ダイアログがでてVBA経由ではOUTLOOKを使って自動的に送信できません。そこで

 myItem.Display     ’メールを表示
 Call Sleep(1000 * 5)  ’表示処理を待つ(多分5秒くらい待てばOK、かな?)
 SendKeys "^~", True  ’ctrl+enter を送り、メニュー項目からの送信処理
 Call Sleep(1000 * 5)  ’気持ち処理完了まち

こんな感じでメール送信処理をOUTLOOKにお願いして実行させることができました。sleepを使ってかっこ悪い同期(?)処理を行っているのが特徴です。これを行わないとメール表示が完了する前に「ctrl+enter」を送ってしまい、正しくメニュー処理が行えません。多分。

もちろん、OUTLOOKでメール送信ができる状態になっていることが前提です。

でもCDOを使うほうがかっこいいなぁ・・・

 

マイドキュメント

2007年07月17日 23時35分35秒 | Windows
マイドキュメントは詳細設定から圧縮属性をつけている

やり方は簡単
1:マイドキュメントを右クリック
2:「ターゲットフォルダの場所」から該当ディレクトリ
  C:Documents and Settings【ユーザ名】My Documents
  を指定する
3:2から指定したフォルダを右クリック、メニューからプロパティを選択
4:「詳細設定」ボタンから「圧縮属性-内容を圧縮してディスク領域を節約する」に
  チェックを入れる
5:圧縮方法で
   a)このフォルダのみ変更を指定
   b)このフォルダ、およびサブホルダとファイルに変更を適用する
  が選べるので b を選択し、マイドキュメント以下も同じ属性(圧縮)にする

初回はこれでOK。処理ダイアログがでて実行が確認できます。

効果のほどは手元のあるフォルダでみると
 サイズ:144MB
 ディスク上のサイズ:119MB
約2割かな?
デメリットとしてはおそらく該当ファイルの展開時に少し時間がかかるのかもね。
よく使うファイルはマイドキュメント以下には置かないからそんなに気にしてません。

よくわからないのが、圧縮属性が付いているフォルダに後からファイルを追加した場合、その追加したファイルには圧縮属性が付かない?って点です。このため定期的にマイドキュメントの圧縮属性を再度付け直しフォルダ内部のファイル群の属性を付け直さなければならないです。多分。実験で様子を見た感じでは付きませんでした。
#もう一方の属性(暗号化)の場合、たしか追加したファイルには自動的に
#同じ属性が付いたはずなのになぜ圧縮属性は付いてくれないのだろう・・・