PCでFAXを送信するだけなら、Windows XP でプリンタをFaxにすればいいようだ。(Windows なのか、今手持ちのPCなのかはちょっと調べが足りない・・)
また、専用ソフトの方が断然使いやすい。

しかし、FAXを送信する際、「紙/PCデータのどちらも送りたい」というニーズはあるだろう。スキャニングすればいい、という話も出そうだが、手軽に遅れないと実務には使いにくい。

ちょっと探してみたら、「FAX機によっては、LANに接続でき、PCから送信/FAX機が受信したデータをPCに取り込める」ものがあった。以下にLAN(無線/有線)に対応した2機種を紹介する。

ブラザー工業 MyMio A4インクジェットFAX複合機 MFC-930CDN

¥26,250
Amazon.co.jp


ブラザー工業 MyMio A4インクジェットFAX複合機 MFC-490CN

¥15,604
Amazon.co.jp

家庭で使うには高価かも知れないが、これらがあれば、FAXをほとんどペーパーレス化できるのではないだろうか。前者は電話機能も持っており、子機が1台付いているようだ(2台付モデルもあるらしい)。後者は今ある電話を接続でき、FAXの自動切り替え機能もあるそうだ。
家庭のプリンタを買い換える際の検討対象にしては如何だろう。私事だが、自宅の電話機の調子が悪いので、買い換えるならこういうのにしたいな、と密かに思っている。
VB.netをやっていて、ハマったことがある。

スカラー型の変数、つまり Integer や String など、「単独」の型のものは、コピーは簡単だ。

Dim A As String
Dim B As String
とあれば、
A = B
で A に B の値が入る。当たり前だが、A と B は独立しているので、この後、A に違う値を入れてもBの値は影響を受けない。逆もまた然りで、B に違う値を入れても、Aの値はそのままである。

しかし、単に = で渡せばその複写ができる、という訳でもないのがオブジェクトだ。
Dim A As [オブジェクト型]
Dim B As [オブジェクト型]
※特にオブジェクト型を限定しない。クラスであることもあれば、コントロールであることもある。この例では A も B も同じ型とする。
と言う場合、
A = B
とすると、確かに A で B の値が見える。ところが、A に何か値を入れると、B にも連動するのだ。
A は B へのショートカットみたいな役割を果たす、といえば分かりやすいだろうか。

さて。上記の[オブジェクト型]、VBAでデータクラスを作っても同じ事がいえる。

では、オブジェクトはコピーできないのか、というとそんなことはない。このあたりはVBAユーザーがクラスモジュールを使いこなす上で重要なポイントではないかと思う。

詳細は、後日。





VB6やVBAのユーザーにとって、VB.netは気になるところだろう。特にVB6はVista や Windows 7 でも対応はすることになっているが、そろそろ移行してもいいのでは?と思える。

で、近頃、かなり真面目にVB.netをやらざるを得なくなったので、触っていたがプログラマには利点/欠点がある。

利点をひとつだけ挙げるとすると、オブジェクト指向であること。私はオブジェクト指向の最大の利点は再利用性だと思っているが、それが高まるため、生産性も品質も上がるメリットは享受している。

欠点は、やはり慣れないと「?」であることか。しかし、それほど急激な変化をマイクロソフトは求めて織らず、ちゃんと「標準モジュール」を用意している。VB.netで、クラスモジュールを使わずにプログラミングだってできる。しかし、命令文が結構変わっている・・。

ここいらの呪縛を解かないかぎり、いつままでもOSでVB6互換を行わなければならなくなるだろう。
私自身はその呪縛を解けるので、「VB6からVB.net移行」を看板に掲げてみようかな?とも思っている。
よくあるのが「移行費用」であるが、新規システムで確実に向上するであろう保守効率を考えれば、どのくらいの期間で投資を回収できそうか、という計算もできるだろう。
一気に移行しなくても、VB6でもクラスモジュールは作成できる。クラス化することでVB.net化の準備はできる。

個人的には、さっさとVB6からVB.netへ移行することをお勧めしたい。