Erreichen Sie ActiveX- oder Formularobjekte (Textbox) aus dem Codehind in einem Excel-Dokument

8

Es gibt mehrere Textfelder in einer Excel-Datei als ActiveX-Objekte, und ich möchte sie von Codebehind erreichen.

Ich verwende ClosedXML für andere Felder, aber ich bin offen für andere Vorschläge.

    
Hakan Erdogan 06.09.2016, 14:03
quelle

5 Antworten

2

Fügen Sie für den Zugriff auf OLE-Objekte aus C # einen Verweis auf die Microsoft Forms 2.0-Objektbibliothek hinzu. Sie können die Steuerelemente für das gewünschte Kontrollkästchen und Textfeld durchlaufen. Viel Spaß!

%Vor%     
Mukul Varshney 14.09.2016, 09:16
quelle
1

Sie können eine Datei in VBA erstellen (in% appdata% -Ordner) und den Textbox-Wert in dieser Datei speichern ( anhand eines Beispiels, .ini-Datei ).

Und danach Datei in C # öffnen.

VBA (.xlsm-Datei)

%Vor%

C: \ Benutzer \ HS \ Desktop \ exceltab.ini

%Vor%

    
Hors Sujet 09.09.2016 12:16
quelle
1

Wenn Sie ClosedXML verwenden, sollten Sie sich XLWSContentManager

Gemäß Microsoft :

  

ActiveX-Steuerelemente werden von OLEObject-Objekten in der OLEObjects-Auflistung dargestellt (alle OLEObject-Objekte befinden sich ebenfalls in der Shapes-Auflistung)

Wenn Sie also ClosedXML verwenden, müssen Sie XLWSContents.OleObjects verwenden, aber wenn die Steuerelemente keine ActiveX-Steuerelemente sind und stattdessen die integrierten Excel Formular -Steuerelemente sind, müssen Sie sie verwenden XLWSContents.Controls .

Beachten Sie jedoch die MS-Dokumentation - Für die Implementierung von ClosedXML müssen Sie möglicherweise auch die Shapes überprüfen.

    
ThunderFrame 11.09.2016 10:30
quelle
1

Sie können alle OLE-Objekte wie unten beschrieben durchlaufen und das Textfeld, das Sie benötigen, mit dem Textfeldnamen oder Textfeldtext angeben. Anstelle von Ich können Sie Arbeitsblattbezug von außerhalb der Arbeitsmappe oder von Code verwenden.

%Vor%     
Mukul Varshney 14.09.2016 05:13
quelle
0

Wenn Sie ClosedXML verwenden möchten, können Sie textarea & amp; Zelle mit LinkedCell -Eigenschaften.

So:

Siehe:

    
Hors Sujet 10.09.2016 11:04
quelle

Tags und Links