web-dev-qa-db-ja.com

Excel 2010の「フォームコントロール」と「ActiveXコントロール」の違いは何ですか?

Microsoft Excel 2010を使用して、ドキュメントに挿入できる2種類のコントロールに気付きました:Form ControlsおよびActiveX Controls

enter image description here

それらの違いは何ですか?

87
Rubens Mariuzzo

Googleはこれに関する情報でいっぱいです 。 Hans Passantが言ったように、フォームコントロールはExcelに組み込まれていますが、ActiveXコントロールは個別にロードされます。

通常、Formsコントロールを使用しますが、よりシンプルです。 ActiveXコントロールは、より柔軟な設計を可能にし、基本的なFormsコントロールではジョブを実行できない場合に使用する必要があります。

多くのユーザーのコンピューターは デフォルトは信頼しませんActiveXであり、無効になります。これは時々、手動でトラストセンターに追加する必要があります。 ActiveXはMicrosoftベースのテクノロジーであり、私が知る限り、Macではサポートされていません。これは、Mac(またはワークブックを提供する人)がMacで使用することを決定した場合にも考慮する必要があるものです。

85
StoriKnow

知っておくべき重要な違いの1つは、ActiveXコントロールがコードで使用できるオブジェクトとして表示されることです。ActiveXコントロールをワークシートに挿入し、VBAエディター(ALT + F11)を起動すると、アクセスできるようになります。プログラムで制御します。フォームコントロールを使用してこれを行うことはできません(代わりにマクロを各コントロールに明示的に割り当てる必要があります)が、フォームコントロールは少し使いやすいです。単純なことをしているだけなら、どちらを使用するかは問題ではありませんが、より高度なスクリプトにはActiveXの方が可能性が高くなります。

ActiveXはさらにカスタマイズ可能です。

22
iliketocode

場合によっては、フォームコントロールまたはアクティブXコントロールをクリックすると、同じマクロに対して2つの異なる結果が得られることがあります。 Active Xの方が信頼性が高いと思います。

1
JLG

また、ActiveXコントロールはWindowsでのみ機能しますが、フォームコントロールはWindowsとMacOSの両方のバージョンのExcelで機能します。

0
maciej