2013-03-16 9 views
65

Mit Microsoft Excel 2010 habe ich zwei Arten von Steuerelementen festgestellt, die in ein Dokument eingefügt werden können: Formularsteuerelemente und ActiveX-Steuerelemente.Was ist der Unterschied zwischen "Form Controls" und "ActiveX Control" in Excel 2010?

enter image description here

Was ist der Unterschied zwischen ihnen?

+7

Die Formularsteuerelemente werden in Excel selbst erstellt. Die ActiveX-Steuerelemente werden aus separaten DLLs geladen. Sie können zusätzliche ActiveX-Steuerelemente und keine Formularsteuerelemente hinzufügen. –

+0

Danke @HansPassant! Soweit ich verstehe, sollte ich mit Form Control beginnen, während der Job ohne ActiveX-Steuerelemente ausgeführt werden kann. –

Antwort

64

Google is full of information on this. Wie Hans Passant sagte, Formularsteuerelemente sind in Excel eingebaut, während ActiveX Steuerelemente separat geladen werden.

Im Allgemeinen verwenden Sie Forms Kontrollen, sie sind einfacher. ActiveX Steuerelemente ermöglichen ein flexibleres Design und sollten verwendet werden, wenn der Job einfach nicht mit einer einfachen Forms Steuerung ausgeführt werden kann.

Viele Benutzer Computer von default won't trustActiveX, und es wird deaktiviert sein; Dies muss manchmal manuell dem Trustcenter hinzugefügt werden. ActiveX ist eine Microsoft-basierte Technologie und, soweit mir bekannt ist, wird nicht auf dem Mac unterstützt. Dies ist etwas, das Sie auch in Betracht ziehen sollten, sollten Sie (oder jemand, dem Sie eine Arbeitsmappe zur Verfügung stellen) entscheiden, es auf einem Mac zu verwenden.

+0

Ich war auf der Suche nach dieser Art von Antwort/Erklärung. Jetzt verstehe ich die Vor- und Nachteile von Form Controls gegenüber ActiveX. Ich werde Form Controls verwenden, während der Job mit ihnen erledigt werden kann. Danke Sam und danke @HansPassant –

+0

Kein Problem - froh zu helfen. Wenn Sie mit der angegebenen Antwort zufrieden sind, denken Sie bitte daran, dies zu markieren, damit andere wissen, dass eine Antwort gegeben wurde. – Sam

+0

Kein Problem, ich warte mal geduldig und warte auf andere Meinungen. –

18

Ein wichtiger Unterschied ist, dass ActiveX-Steuerelemente als Objekte angezeigt werden, die Sie in Ihrem Code verwenden können - versuchen Sie, ein ActiveX-Steuerelement in ein Arbeitsblatt einzufügen, den VBA-Editor (ALT + F11) aufzurufen in der Lage sein, auf die Steuerung programmatisch zuzugreifen. Sie können dies nicht mit Formularsteuerelementen (Makros müssen stattdessen explizit jedem Steuerelement zugewiesen werden), aber Formularsteuerelemente sind ein wenig einfacher zu verwenden. Wenn Sie nur etwas Einfaches tun, ist es egal, was Sie verwenden, aber für fortgeschrittene Skripte hat ActiveX bessere Möglichkeiten.

ActiveX ist auch mehr anpassbar.

1

Seien Sie vorsichtig, wenn Sie in einigen Fällen auf ein Form Control oder Active X Control klicken, werden zwei verschiedene Ergebnisse für dasselbe Makro angezeigt - was nicht der Fall sein sollte. Ich finde Active X zuverlässiger.

+5

Dies wäre eine Antwort, wenn Sie ein Makro bereitstellen könnten, das mit einem ActiveX/Form-Steuerelement unterschiedliche Ergebnisse liefert. –