質問: 規定値の変更は不可能でしょうか vbe画面でユーザーフォームを新規に挿入したときはデフォルトでshowmodalがtrueですが この設定をデフォルトでfalseにすることは不可能でしょうか? showmodalに限らず規定値が決まっているものはデフォルトで変更することは不可能でしょうか? よろしくお願いします。
回答: こんにちは。 >新規に挿入したときはデフォルトでshowmodalがtrueです ところで、なぜ、showmodal が、true になっているかご存知ですか? これは、下位バージョンで使用する時に、false モードですと、エラーを出すからです。 しかし、私自身は、userform プロパティ側で、手動で、false に変えていることも多くなりましたね。userform を単にマクロだけで立ち上げるときに、modalmode が、true になっていると、使いづらいからです。 基本的に、内部的なデフォルト値を変更するというのは、一種のハッキング行為(違法性はないけれども)なのですが、超ハイレベルだと思ったほうがよいです。 もともと、userform は、空のブックには存在していないわけです。ユーザーが起動して、それは、オブジェクトがインスタンスになるわけで、その雛形自体が、そういうデフォルト・プロパティが置かれているわけですから、その雛形のオブジェクト自体を、加工して作ってあげなくてはならないわけです。 言葉は簡単ですが、実際に、別の質問が出ていたので、考えてみたのですが、既存のものにインスタンスを設けるだけでも、意外に難しいですというか、ややこしいです。少なくとも、modal mode の変更程度ですと、マニュアルか、プログラムひとつで事足りますから、あまり、そういうレベルは、仮に確実な解答がついても、さっぱり理解できない、と思っていて良いかもしれません。