表示されるコントロールはFM20.DLLの一部です。これは Office インストールの一部です。
[追加のコントロール] ボックスの [場所] 部分を見ると、それらがすべて同じ DLL の一部であることがわかります。
私の知る限り、これらはほとんどの Office インストールで使用できることが保証されている唯一のコントロールです。
そうは言っても、コメントで質問する各コントロールに対して具体的に何ができるかを見てみましょう。
- 「グリッド」対応リスト
- 階層ツリー ビュー
- カレンダー コントロール
グリッド
それはあなたの要件に帰着しますが、リストボックスを使用して逃げることができるかもしれません. VBA のリストボックスには、グリッドのようなものにするプロパティがいくつかあります。
たとえば、Excel のワークシートが次のようになっているとします。
ID001 Value 1 Description 1
ID002 Value 2 Description 2
ID003 Value 3 Description 3
リストボックスは複数の列をサポートしているため、リストボックス プロパティのColumnCountを3に設定し、次のコードを記述して、これらの値を表示できます。
Me.ListBox1.ColumnWidths = "50;100;200"
Me.ListBox1.RowSource = Sheet1.Range("A1:C3").Address
次のようなものが得られます。
列を非表示にしますか? 列を非表示にするには、 ColumnWidthsプロパティの幅をゼロに変更します。
Me.ListBox1.ColumnWidths = "50;0;200" 'Hide column 2
そこから物事を選択できない場合、グリッドは何の役にも立ちませんよね?
リスト ボックスで、ListStyleプロパティをfrmListStyleOptionに変更し、 MultiSelectをfrmMultiSelectに変更します。
これにより、グリッドのように見えるリストボックスが得られます。
カレンダー
2012 年 8 月 17 日更新:この投稿を読んでください。 回答者の 1 人が、独自のカレンダー コントロールを作成しました。
Office 用のカレンダー コントロール (mscal.ocx) があります。
ただし、適切な条件が満たされている必要があります。
- Access はクライアント マシンにインストールする必要があります
- このバージョンで削除されたため、Office のバージョンをOffice 2010にすることはできません( Microsoft Access から削除された機能を参照してください) 。
カレンダー コントロールを 2010 や Access Office 以外のインストールで動作させることはできますが、クライアントのマシンで追加の手順が必要になります。
- ダウンロードmscal.ocx
- windows/system32 ディレクトリに解凍します
- 登録する
ツリー表示
クライアントが一部の EXE をインストールすることが許容される場合は、Microsoft Visual Basic 6.0 Common Controlsをインストールすることができます。これにより、TreeView コントロールが提供されます。
ほとんどのマシン (特に Windows XP の古いマシン) には、これらの OCX が既にインストールされていると確信しています。したがって、インストールは必要ない場合があります。
最大の問題は、クライアント マシンに OCX を展開していて、サポートの観点からイライラすることです。