古庄 潤(ふるしょう じゅん)
本業はエンジニア。ICに様々な機械をつなぎ,電流やら電圧を測定する。もちろん,これらの測定器もVBAでコントロールし,取り込んだデータもマクロで処理する。人呼んで,マクロの鬼軍曹!
今回のサンプルは、Excel 2002/2003/2007(Windows XP)、Excel 2007(Windows 7)での動作を確認しています

「あら?先生!」
「ん?どうした?」
「眼鏡が」
「おぉ!これか」
「新調したんですか?」
「度が合わなくなったのでな」
「あら~、老眼が進んだんですか?」
「いや、乱視の度が進んでな」
「乱れてますからねぇ」
「何がじゃ?」
「いえ、なんでもありません」
「特に夜になると、ぼやけてしょうがない」
「それは不便ですね」
「老眼、乱視、近視の三重苦じゃ。今日は、目を休めるために休業する」
「眼鏡代は、払ったんですか?」
「え?」
「眼鏡代を稼ぐために仕事!仕事!」
「しょんなぁ・・・」
「お待ちの相談者のかた、ど~ぞ~」

今月の相談
 ユーザーフォームのサイズって変えられないんでしょうか? テキストボックスにファイルのPathを表示しているのですが、階層が深くなると、Pathの文字列が長くなって全部を表示できません。ダイアログボックスのように、フレームをドラッグしてウィンドウのサイズを変更できるようにする呪文はありませんか?

「先生、相談の意味が理解できません」
「ほう、では、ユーザーフォームを表示してみたまえ」
「はい」

図1●Excelのユーザーフォーム
図1●Excelのユーザーフォーム
[画像のクリックで拡大表示]

「では、フレームをドラッグしてサイズを変更してみよう」
「はい!・・・あれ?先生、フレームをドラッグできません」
「そうじゃろ? Excelのユーザーフォームは、基本的にフレームをドラッグしてサイズを変更することはできないんじゃ」
「おぉ!では、患者さんの症状を治療する処方箋はないのですか?」
「ふぉっふぉっふぉっふぉ」
「あ!バルタン星人だ。下手だけど、わかりました」
「むむぅ・・・」
「で、その高笑いの理由は?」
「あるんじゃよ」
「何が?」
「処方箋」
「なんだ、それならそうと早く言ってくれればいいのに。Showメソッドのオプションとか?」
「ブブー」
「じゃあ、ユーザーフォームのプロパティ?」
「ブブー」
「まさか、ウィンドウをゼロから作るなんて言わないでしょうね?」
「それも、できないことはないが、ブブー」
「じゃあ・・・じゃあ・・・わかりません!」
「ユーザーフォームに、最小化と最大化のボタンを付けるんじゃよ」
「ボタンを付ける?」

「図1のユーザーフォームをよ~っく見てみたまえ」
「見ました」
「何か、気づかないか?」
「何の変哲もない、見慣れたユーザーフォームですけど?」
「では、ユーザーフォームの右上に着目して、もう一度見てみよう」
「はい!ん~・・・ん~・・・。あ!」
「何か閃いたかな?」
「閉じるボタンしかありません」
「なるほど」
「一般的なウィンドウにあるウィンドウを小さくするボタンと、最大表示にするボタンがありません」
「であるねぇ」
「どうしてですか?」
「わかりましぇん!」
「開き直りましたね」
「現実は、現実として受け止めよう」
「はい!で、どうやってボタンを付けるんですか?あ、ミシンで縫うとか、アイロンで付けるとかいうボケはいりませんからね」
「おっと、親父殺しのボケ封じ。恐れ入谷の鬼子母神」
「げ!親父ギャグ」
「だって、親父だも~ん」
「またまた、開き直り。もう、そろそろ本題に戻ってください」