Microsoft Excel 2010を使用して、ドキュメントに挿入できる2種類のコントロールに気付きました:Form ControlsおよびActiveX Controls。
それらの違いは何ですか?
Googleはこれに関する情報でいっぱいです 。 Hans Passantが言ったように、フォームコントロールはExcelに組み込まれていますが、ActiveXコントロールは個別にロードされます。
通常、Forms
コントロールを使用しますが、よりシンプルです。 ActiveX
コントロールは、より柔軟な設計を可能にし、基本的なForms
コントロールではジョブを実行できない場合に使用する必要があります。
多くのユーザーのコンピューターは デフォルトは信頼しませんActiveX
であり、無効になります。これは時々、手動でトラストセンターに追加する必要があります。 ActiveX
はMicrosoftベースのテクノロジーであり、私が知る限り、Macではサポートされていません。これは、Mac(またはワークブックを提供する人)がMacで使用することを決定した場合にも考慮する必要があるものです。
知っておくべき重要な違いの1つは、ActiveXコントロールがコードで使用できるオブジェクトとして表示されることです。ActiveXコントロールをワークシートに挿入し、VBAエディター(ALT + F11)を起動すると、アクセスできるようになります。プログラムで制御します。フォームコントロールを使用してこれを行うことはできません(代わりにマクロを各コントロールに明示的に割り当てる必要があります)が、フォームコントロールは少し使いやすいです。単純なことをしているだけなら、どちらを使用するかは問題ではありませんが、より高度なスクリプトにはActiveXの方が可能性が高くなります。
ActiveXはさらにカスタマイズ可能です。
場合によっては、フォームコントロールまたはアクティブXコントロールをクリックすると、同じマクロに対して2つの異なる結果が得られることがあります。 Active Xの方が信頼性が高いと思います。
また、ActiveXコントロールはWindowsでのみ機能しますが、フォームコントロールはWindowsとMacOSの両方のバージョンのExcelで機能します。