2009-05-21 16 views
3

Ich suche eine Steuerung, die die gleiche wie die frei belegbare Funktionssteuerung in Excel funktioniertExcel Kontrollen in VSTO

So zum Beispiel, wenn Sie auf „Average“ klicken, wird eine Kontrolle erscheint in dem Sie in Typ 2 Zahlen in Textfeldern. Auf der rechten Seite der Textfelder befindet sich eine Schaltfläche, mit deren Hilfe Sie einen Bereich von Werten in Excel auswählen können. Wenn diese Option ausgewählt ist, wird das Textfeld ausgefüllt.

Wer weiß von einem VSTO oder einem anderen Steuerelement, das dies tut, so muss ich es nicht selbst codieren?

Antwort

1

Dieses existiert nicht. Sie müssten es selbst mit Hilfe von .net Benutzersteuerelementen erstellen. Um das richtige Verhalten zu erhalten, müssen Sie möglicherweise für die Bereichsauswahl zwischen modalen und nicht-modalen Dialogen wechseln.

Das Excel-Funktions-, Beschreibungs- und Auswahlfenster ist nicht über VSTO- oder Excel-Objektmodellbibliotheken verfügbar.

11

Es ist vorhanden, aber es ist nicht genau das selbe wie das, das Sie in Excel finden werden. Greifen Sie auf das Anwendungsobjekt zu und rufen Sie die Methode InputBox auf. Diese Methoden können verschiedene modale Eingabedialoge verschiedener Typen anzeigen. Typ 8 ist der Bereichsauswahltyp, dieser Typ 8-Dialog hat ein großes Textfeld, eine OK-Schaltfläche und eine Abbrechen-Schaltfläche (aber es fehlt das übliche Bereichsauswahlsymbol). Wenn der Benutzer auf OK klickt, wird der ausgewählte Bereich überprüft und die Methode des Eingabefelds gibt das Ergebnis zurück. Wie im Dialogfeld "Echter Bereich" kann der Benutzer nur Bereiche auswählen, während dieser modale Dialog geöffnet ist.

C#

Application.InputBox("Select a Range","title",Type.Missing,Type.Missing, 
           Type.Missing,Type.Missing,Type.Missing, 8); 

dann die zurückgegebene Bereich verwenden in dem Text angezeigt werden soll.

+0

Abgestimmt. Danke! Ich kannte diese Anwendungsfunktion noch nicht ... – jreichert

+0

Hi thx für deine Antwort - eine Sache, die mir noch unklar ist: Die InputBox-Methode gibt ein System.Object zurück - weißt du, wie man das System.Object abfragen würde den ausgewählten Bereich erhalten? – BKSpurgeon

Verwandte Themen