Hallo Markus,
Post by MarkusHallo Solaiman,
erstmal vielen Dank dass du dir für mein Problem so viel Mühe machst.
kein Problem, mache ich gerne ;-)
Post by MarkusEs ist so, dass VB anscheinend den Befehl "GoTo Fehler" nicht versteht.
Kurzer Hinweis: VB und VBA unterscheiden sich im Syntax gar nicht. VBA
kannst du einfach gesagt als Teilmenge von VB sehen.
Hier ist nur GoTo der Befehl. "Fehler" ist der Name der Sprungmarke, den
du selber definieren mußt, wie ich es in dem vorigen Beispiel gezeigt habe!
Post by MarkusLt. Beschreibung kann ich nur "On Error Resume Next" ausführen,
oder wenn ich die Fehlerbehandlung wieder aufnehmen möchte,
"On Error GoTo 0" - hab ich mal gelesen.
On Error Anweisung hat folgenden Syntax:
On Error GoTo Zeile/Sprungmarke
On Error Resume Next
On Error GoTo 0
Schau dir bitte die "On Error" Anweisung in der Hilfe an. Dort ist alles
detailliert erklärt worden.
Post by MarkusAktiviert oder deaktiviert die Fehlerbehandlung
Wenn ich die Befehlszeile verwende "On Error GoTo Fehler", so
bekomme ich den Fehler "Syntaxfehler", und das Programm unterbricht.
wie oben schon geschrieben. Du mußt die Sprungmarke mit dem Namen
"Fehler" definiert haben, damit du es in der GoTo Anweisung
referenzieren kannst. (Es kann natürlich auch anders heißen als "Fehler"
z.B. "MeineFehlerbehandlung"!)
Syntax für Sprungmarke
Sprungmarkenname:
Doppelpunkt am Ende des Namens markiert die Stelle als Sprungmarke!!!
Post by MarkusIch klicke in einer bestehenden Software einen Button, der mir
Sub OnClick()
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objSheetForm = objWorkbook.WorkSheets("Formatted")
'If Not ObjSheetForm.Shapes("Project") Is Nothing Then
ObjSheetForm.Shapes("Project").Select
ObjExcel.Selection.Characters.Text = Ordercode
End Sub
Und dann befüllt mir das Programm die Werte in Excel.
Aber wenn das "Shapes("Project")" nicht existiert, dann soll er mir eine
MsgBox zeigen.
Hier dein angepasster Code:
'-------------------------------------------------------------------------------------------
Sub OnClick()
Set ObjExcel = CreateObject("Excel.Application")
ObjExcel.Visible = True
Set ObjSheetForm = objWorkbook.Worksheets("Formatted")
On Error GoTo Fehler
ObjSheetForm.Shapes("Project").Select
ObjExcel.Selection.Characters.Text = Ordercode
Exit Sub
Fehler:
If Err.Number = -2147024809 Then
MsgBox "Element nicht gefunden! " & Chr(10) & "Fehler-Nr: " &
Err.Number & Chr(10) & "Beschreibung: " & Err.Description
Else
MsgBox "Fehler aufgetreten: " & Chr(10) & "Fehler-Nr: " &
Err.Number & Chr(10) & "Beschreibung: " & Err.Description
End If
End Sub
'-------------------------------------------------------------------------------------------
Gruß
Solaiman
Post by MarkusPost by Solaiman GhausHallo Markus,
Post by MarkusSo geht's leider nicht, denn ich möchte aus einem externen Programm
darauf zugreifen,
also nicht im Excel.
Es ist eine bestehende Sofware, die ich aber mit VB gestalten kann so wie
ich es möchte.
ich kann es nicht nachvollziehen, was du beschreibst. Es ist unerheblich,
ob du die Fehlerbehandlung von externem Programm heraus oder in Excel
direkt durchführst. Die Fehlerbehandlung muß nur der Programmiersparche
konform sein - im Falle von VB ist es aber bereits.
Post by MarkusSonst noch eine Idee?
Beschreibe doch bitte die ganze Umgebung + Code und Arbeitsablauf
vollständig, sonst ist es schwierig zu verstehen, was du vor hast.
Gruß
Solaiman