- ベストアンサー
ExcelVBAユーザーフォームのオブジェクト名とは?
- Excel2003でユーザーフォームのオブジェクト名を正しく表示する方法について説明します。
- 特定の状況下でオブジェクト名が正しく表示されない問題が発生することがあります。
- ユーザーフォームのオブジェクト名が消えてしまう原因と対処法について解説します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1の回答者です。 >OSは7です。 Win7 とOffice 2003との組み合わせは、VBEditor上では、こちらでも、トラブルが発生しています。 一度、VBEditorのメニューのツール--オプション--エディタの設定--フォント名を確認し、例えば、「メイリオ」などに変えてみたらいかがですか? なお、私は、'○○○○ のコメントに関しては、やむを得ないと思いますが、オブジェクト名はデフォルトのままが多く、プロシージャ名などは、英語で書いています。 >皆様は、後でどう組んだのかわからなくなるってことないんですかね? 私は、プロジェクト・グループと言って、複数のプロジェクトの中に同じ構造のモジュールが複数あるし、ユーザーフォームも複数、プロシージャなど数があっても、すぐに探せられるような、「MZ-Tools 3.0」というツールが入っています。このツールがなければ、大きなシステムの開発や修正はできません。これは海外製なので、2バイト文字は使えません。 また、私は、VBAでも、コーディング・ルールとして、いくつかの決まりを設けていますが、これは一般の人までは言えないルールだと思います。
その他の回答 (1)
- WindFaller
- ベストアンサー率57% (465/803)
こんにちは。 「ユーザーフォーム表示中」は、22byte ですから、長さに関しての制限は、31byteの制限はパスしています。 ただ、実務上で使うマクロのプロシージャやオブジェクト名を日本字にするというのは、私には考えられません。私の考え方を批判する人もいるだろうかとは思いますが、2バイト文字のいくつかは、バグの発生する可能性を示唆しています。 OSが書かれていませんが、Win7とMS ゴシックの組み合わせで、VBEditor内で、この所トラブルが発生しましたので、ゴシックからメイリオに換えました。ともかく、オブジェクト名に、日本字はやめたほうが無難だというしかありません。
お礼
回答ありがとうございます。 OSは7です。 やはり2バイト文字が云々という答えになるんですよね。 バグの可能性があるなら初めから2バイト文字を使えないようにしてくれれば諦めもつくのですが。。。 頭に「’」をつけて何の処理をしてるか明記しておくのと、オブジェクト名を日本語にしておかないと、長期にわたって色々なものを作っていくと、後で何かあったときに原因を辿れなくなっちゃうんです。 皆様は、後でどう組んだのかわからなくなるってことないんですかね?
お礼
会社の人間にあれやってこれやってと言われて追加していくごとに内容が煩雑になって、後でわけがわからなくなってしまうだけで、所詮、素人が簡素化のために作成しているだけですので、恐らく回答者様とは規模が違うと思います^^; 再度のお返事ありがとうございました。 早速フォントの確認をしてみます。