2

オフィスにボタン/ドロップダウンの組み合わせを追加するにはどうすればよいですか(以下を参照)。できればコード付き。

代替テキスト

更新:それが役立つ場合は、コードは必要ありません。

4

1 に答える 1

1

次の ActiveX コントロールに基づいて実行できます。

  • Microsoft ImageList コントロール、バージョン 6
  • Microsoft ImageComboBox コントロール、バージョン 6

手動で、[コントロール ツールボックス] メニュー バーから [その他のコントロール...] を選択し、上記のコントロールをダブルクリックしてシートに追加します。ComboBox を必要な場所に配置し、ImageList の位置を無視します。これはデザイン モードでのみ表示されます。これで、名前が付けられた 2 つの埋め込みコントロールができました。

  • 画像リスト1
  • 画像コンボ1

2 つのコンポーネントを挿入すると、...\system32\MSCOMCTL32.OCX への参照も作成されます。

次にあなた

  1. アイコン (GIF、BMP など) を画像リストに手動で追加する
  2. Combo の ImageList プロパティを手動で "ImageList1" に設定します。
  3. Combo の AutoLoad プロパティを手動で True に設定します

これで、エラーのあるコンボが表示されましたが、アイコンはありません。

次に、このコードを実行します

Sub FillCombo()
Dim SH As Worksheet, OO As OLEObjects, Idx As Integer

    Set SH = ActiveSheet
    Set OO = SH.OLEObjects


    With OO("ImageCombo1").Object
        .ComboItems.Clear
        For Idx = 1 To OO("ImageList1").Object.ListImages.Count
            .ComboItems.Add , , , Idx
        Next Idx
    End With

End Sub

頑張ってVBAでオブジェクトを作ってみたのですが、ImageComboをそのまま作成すると動作が違うようです

Set SH = ActiveSheet
Set OO = SH.OLEObjects
OO.Add "MSComctlLib.ImageComboCtl.2"
' .... etc ....

コンボは作成されますが、ドロップダウン矢印は何をしても表示されませんが、デバッガーはすべての ListView 要素がきちんと接続されていることを示しています。多くの同僚がその ActiveX に問題を抱えているようで、ネット上にはたくさんの投稿があります。

ここでさらに読む

于 2011-01-13T22:24:38.603 に答える