Benutzer mit den meisten Antworten
object-Variable in Ereignisprozedur übernehmen

Frage
-
Hallo zusammen ich möchte gerne meine object-Variable xl in ein ereignis übernehmen und ich komm nicht drauf, wie ich das machen muss.
xl steht für eine Excel-Applikation
Ich hab eine form und darauf eine checklistbox. Diese checklistbox ist gefüllt mit den Spaltenbezeichnungen eines Excel-Workbooks. Bei Markierung eines Eintrags möchte ich über das ereignis selectedvaluechanged den inhalt der Zellen unter und oberhalb des checklistboxeintrags auswählen/ausgeben.
Private Sub CheckedListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckedListBox1.SelectedValueChanged Dim xl As Object Dim xplantBezeichnung As String 'xl = CreateObject("Excel.Application") MsgBox(CheckedListBox1.SelectedItem) xplantBezeichnung = CheckedListBox1.SelectedItem MsgBox(xl.worksheets("Instrument MSR").Range("2:2").find("Menge").value) Me.TextBox1.Text = xl.worksheets("Instrument MSR").Range("2:2").find(xplantBezeichnung).value End Sub
Mein problem: ich weiß nicht wie ich meine objectvariable xl aus der vorhergegeangenen prozedur an mein ereignis übergeben kann.
merci für jede antwort
gruß armin- Bearbeitet Robert BreitenhoferModerator Montag, 22. Februar 2010 17:42 Formatierung
Antworten
-
Hallo Armin,
das erreichst Du, indem Du die Variable xl modulweit deklarierst, also im allgemeinen Teil Deines Klassenmoduls und nicht innerhalb der Methode selber.
Thorsten Dörfler
Microsoft MVP Visual Basic- Als Antwort markiert armino_campino Dienstag, 23. Februar 2010 07:06
Alle Antworten
-
Hallo Armin,
das erreichst Du, indem Du die Variable xl modulweit deklarierst, also im allgemeinen Teil Deines Klassenmoduls und nicht innerhalb der Methode selber.
Thorsten Dörfler
Microsoft MVP Visual Basic- Als Antwort markiert armino_campino Dienstag, 23. Februar 2010 07:06
-
Danke für die Antwort. Das ist die Lösung. ich musste bei mir allerdings noch eine kleine Modifikation vornehmen.
Also für alle die das selbe Problem haben: Ihr müsst eure Variable global in einem extra modul deklarieren, damit ihr die Variable von einem Klassenmodul in das nächste übernehmen könnt. damit könnt ihr auf die geöffnete Exceldatei oder was auch immer zugreifen.
over and out -
Hallo,
wenn man Variablen von einer Klasse in die nächste übernehmen möchte, übergibt man diese meistens per Parameter. Entweder über den Konstruktor der Klasse oder direkt über die Methode, die den Verweis benötigt. Auf globale Variablen sollte man nach Möglichkeit verzichten. Man kann sich damit ziemlich unschöne Probleme einhandeln, die nachher schlecht zu debuggen sind.
Thorsten Dörfler
Microsoft MVP Visual Basic