marcoborn
Goto Top

Zugriff auf Excel-Steuerelemente

Hallo Forum,
ich möchte von VB.NET auf Excel zugreifen. Das Arbeiten mit Zellen, Arbeitsblättern etc. funktioniert, aber wenn ich versuche, den Inhalt von Checkboxes auszulesen, die in einem Sheet eingebettet sind, bekomme ich Fehler. Hier mein Code:

Dim appxl As Excel.Application = Excel.Application.GetActiveInstance.Application

With appxl.ActiveWorkbook.Sheets("Steuerung")  
  .CheckBox1.Top = 28
End With

Kann mir jemand sagen, wie ich die Checkbox auslesen kann?


Vielen Dank,
M. Born

Content-ID: 253297

Url: https://administrator.de/contentid/253297

Ausgedruckt am: 24.11.2024 um 14:11 Uhr

116301
116301 29.10.2014 um 12:41:42 Uhr
Goto Top
Hallo M. Born!

Wenn es die "CheckBox1" tatsächlich gibt und es sich um ein ActivX-Steuerelement handelt, dann sollte es eigentlich gehen?

Zumindest funktioniert es mit einem VB-Script ala:
On Error Resume Next

Set objExcel = GetObject(, "Excel.Application")  

If Err.Number = 0 Then
    With objExcel.ActiveWorkbook.Sheets("Steuerung")  
	MsgBox .CheckBox1.Top
    End with
End if

Grüße Dieter
colinardo
Lösung colinardo 29.10.2014 aktualisiert um 14:18:33 Uhr
Goto Top
Hallo Marco,
  • was für einen Fehler bekommst du denn ?
  • sind das ActiveX Checkboxen oder einfache Formular-Checkboxen ? Mit ActiveX Checkboxen klappt das hier so wie du es machst problemlos.

Falls es andererseits die einfachen Excel-Checkboxen sind kannst du über die Shapes-Auflistung des Worksheets ansprechen.
Dim appxl As Excel.Application = Excel.Application.GetActiveInstance.Application

With appxl.ActiveWorkbook.Sheets("Steuerung")  
  For Each shp As Excel.Shape In .Shapes
      if shp.Name = "Checkbox1" then  
         msgbox(shp.Top)
      End if
  Next
End With
Grüße Uwe
MarcoBorn
MarcoBorn 29.10.2014 um 14:18:28 Uhr
Goto Top
Hallo Uwe,
der "Umweg" über die Shapes war das, was mir fehlte. Ich habe immer versurcht, die Checkboxen direkt anzusprechen und bekam einen Laufzeitfehler.

Vielen Dank,
M. Bor