Q&A

Q1:".DS_Store" というファイルがあちこちにあるけど、何これ?

A1:
 これはMacで開いたウィンドウのアイコンの位置等の記録ファイルです。
 消しても何の問題もありません。

Q2:"._"から始まるファイルが あちこちにあるけど、何これ?

A2:
 これは、Mac 特有のリソースフォークとFinder 情報が本体から分離されたものらしいです。
 消しても何の問題もありません。

Q3:なんでonActionプロパティ を使わないんだ。(なんでCommandBarEventsクラスのClickイベントを使う?)

A3:
 よくわかんないけど、onActionプロパティに実行させたいプロシージャ名を指定させても
 何にも起こらなかった。
 誰か原因を教えて。

Q4:なんで、このマクロを作ったの?

A4:
  1. モジュールのインポートやエクスポートができないとソースをCVS(※1)で管理できない。
    さらに、Mac版Excelの場合モジュールをエクスポートすると改行コードがCRとCRLFが混在した状態になる。
    まだ、MacでCVSを使った事が無いので、詳しい事は判らないけど、大丈夫なのだろうか。
  2. 他のマクロにあるモジュールを使いたいときに、無いと不便だと思った。
  3. ヒマつぶし。
  4. 趣味
  5. そういうマクロ(アドイン)ってあったけ?(あったとしてもMacでは使えない可能性大。)
    (Microsoft Office 2000 Developer版には付属している。でも、これってWindows用だし、、、。)
  6. オブジェクト指向の勉強。
  7. UMLの勉強。
  8. Visual Basicの勉強。
  9. Macの普及率を上げるため。(?)
※1:CVSとはConcurrent Versions Systemの略です。ファイルのバージョンを管理するソフトです。
ちなみに、OfficeのDeveloper版にはVSS(Visual SourceSafe)が付いています。これもファイルのパージョンを管理するソフトです。

Q5:なんでMacintoshなんて 使ってんの?

A5:
  1. Macの方が使い易い。
    (詳しく言うと、WindowsよりMacとでOSの使い易さが違うのだと思います。
    もちろんWindowsの方が優れている点もありますが、総合するとMacOSの方が使い易いと思います。)
    個々のソフトの使い易さはそんなに変わらないと思います。
  2. ウイルスが少ない。
  3. なんか文句でもあるの?
  4. 僕が何を使おうと僕の勝手だよ。
Q6:そもそも、Mac版のExcelっ てVBA入ってるの?

A6:
 これ、結構な頻度で質問される。
 入ってますよ。
 Windowsと比べて、多少バグが多いような気がしますが、、、。

Q7:Macintoshで作ったエクセ ルのマクロやアドインってWindowsで動くの?

A7:
 意識して作れば動く。
 (例えば、ファイルのパスの区切り文字がMacとWindowsでは違う。)
 それと、CarbonLibとかAppleScript等、Windowsにはないやつを使っていたら当然、Windowsでは動かない。

Q8:なんで、マクロ(アドイン)にプロ テクトがかかっているの?

A8:
 プロテクトがかかっていないと、画面を表示したときに、
プロジェクトエクスプローラにおいて、EVCプロジェクトが開いてしまう。
邪魔だと思うので、開かないようにプロテクトをかけました。
EVCプロジェクトが開いてしまう

 別に、VBAのソースを見てほしくないからという理由ではないです。
 ちなみに、パスワードは「evc」です。

Q9:[Mac]エクスポートファイルの TypeとCreatorの変更が異常におそい。なんで?

A9:
 まだ調べてない。
 でも、AppleScriptを使用しているのが関係しているかもしれない。
 処理速度を速くする方法を見つけたら、修正します。
 (でも、この機能ってそんなに必要なのか?)

Q10:「モジュールの取込み、書出し、 削除...」を行うと、プロジェクトエクスプローラでの選択項目が変わるけど、なんで?

A10:
 「モジュールの取込み、書出し、削除...」を行うと、
EVCプロジェクトのfrmEVCMenuというフォームが選択状態になります。
(EVCプロジェクトにプロテクトがかかっていると何も選択していないかのような状態になる。)

 で、理由ですが、わかりません。
 VBAの仕様だと思います。

Q11:何かさー、エラー処理がいい加減 すぎないか?VB標準のエラーダイアログが出るのっていいのかよ。

A11:
 気持ちはわかる。
 けど、どうしようもない。
 VBAで作っている以上、どんなにがんばっても、これだけは無理。
 なぜかって、エラートラップ方式を「エラー発生時に中断」にされたら、VB標準のエラーダイアログが
出てしまうのは防げない。