Makro Ausgabebox
Moderator: Moderatoren
Makro Ausgabebox
Hallo zusammen,
ich habe ein größeres Tabellendokument in dem ich mittels Makros Eingaben in verschiedene Tabellen einspeicher.
Zudem habe ich mittels ein paar Funktionen Abbruchbedingungen erstellt damit das Aakro nicht ausführt.
Nun kommt aber immer die Ausgabebox mit Laufzeitfehler, möchte das gerne ändern in eine Information warum er abbricht. (bsp "Speicherung nicht erfolgt da Daten fehlen" oder ähnlichem)
Wie stelle ich das an?
Vielen Dank schonmal im Vorraus.
mfg
Soge
Moderation,4: in BASIC Unterbereich verschoben; einen sinnvollen Betreff werde ich setzen, wenn mir das Problem klar ist
ich habe ein größeres Tabellendokument in dem ich mittels Makros Eingaben in verschiedene Tabellen einspeicher.
Zudem habe ich mittels ein paar Funktionen Abbruchbedingungen erstellt damit das Aakro nicht ausführt.
Nun kommt aber immer die Ausgabebox mit Laufzeitfehler, möchte das gerne ändern in eine Information warum er abbricht. (bsp "Speicherung nicht erfolgt da Daten fehlen" oder ähnlichem)
Wie stelle ich das an?
Vielen Dank schonmal im Vorraus.
mfg
Soge
Moderation,4: in BASIC Unterbereich verschoben; einen sinnvollen Betreff werde ich setzen, wenn mir das Problem klar ist
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makro Ausgabebox
Welche OOo-Version? Welches Betriebssystem?
Welche Meldung kommt genau, an welcher Stelle des Codes (diesen hier zeigen!)?
Mit einem Posting "bekomme Laufzeitfehler" kann hier keiner etwas anfangen: bitte mehr Angaben!
Welche Meldung kommt genau, an welcher Stelle des Codes (diesen hier zeigen!)?
Mit einem Posting "bekomme Laufzeitfehler" kann hier keiner etwas anfangen: bitte mehr Angaben!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Makro Ausgabebox
Hi,
Ich habe OOo 3.2.1 und windows 7
... vielleicht habe ich mich oben etwas unklar ausgedrückt ... kann sein. mein wusch ist es nicht den Laufzeitfehler wegzubekommen sondern die meldung zu ändern
ok als Beispiel wenn ich zu viele Zeilen beschreiben will kommt
an der stelle: blatt2=ThisComponent.sheets.getbyName(a(0))
Edit: ganz vergessen 
viel lieber wäre mir eine meldung wie
Edit2: Der Laufzeitfehler kommt weil in der Zelle H4 nicht etwas steht wie "tabelle1.A1" sonder "kein platz verfügbar" also eine meiner abbruchbedingungen.
mfg Soge
Ich habe OOo 3.2.1 und windows 7
... vielleicht habe ich mich oben etwas unklar ausgedrückt ... kann sein. mein wusch ist es nicht den Laufzeitfehler wegzubekommen sondern die meldung zu ändern
ok als Beispiel wenn ich zu viele Zeilen beschreiben will kommt
Code: Alles auswählen
BASIC-Laufzeitffehler.
Es ist eine Extension aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: .
Code: Alles auswählen
Nr: '----------------------------------Nr------------------------------------------
ifblatt=ThisComponent.sheets.getbyname("Eingabe_Ausgabe")
ifzelle=ifblatt.getcellrangebyName("C4")
ifziel=ifzelle.string
if ifziel = "" then goto Bezeichnung
blatt=ThisComponent.sheets.getbyname("Eingabe_Ausgabe")
zelle=Blatt.getcellrangebyName("C4")
ziel=zelle.string
zblatt=ThisComponent.sheets.getbyname("Eingabe_Ausgabe")
zzelle=zBlatt.getcellrangebyName("H4")
zziel=zzelle.string
a()=split(zziel,".")
if a(0)="$Vermögensverwaltung" then a(0)="Vermögensverwaltung"
--> blatt2=ThisComponent.sheets.getbyName(a(0)) <--
zelle2=blatt2.getcellrangebyName(a(1))
zelle2.formula=zie

viel lieber wäre mir eine meldung wie
Code: Alles auswählen
Mehr Zeilen können in dieser Tabelle nicht geschrieben werden!
mfg Soge
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makro Ausgabebox
Du brauchst an der Stelle eine Abfrage, ob das gewünschte Tabellenblatt "Vermögensverwaltung" überhaupt vorhanden ist... das sagt die Fehlermeldung nämlich.
Also:
Hilft das weiter?
Also:
Code: Alles auswählen
If ThisComponent.Sheets().hasByName( a(0) ) Then
blatt2=ThisComponent.sheets.getbyName(a(0))
Else
Msgbox "Blatt " & a(0) & " nicht vorhanden!"
REM und hier eine geeignet Massnahme, wie EXIT SUB oder STOP
End If
Hilft das weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Makro Ausgabebox
Hi,
um ehrlich zu sein nein. Das Tabellenblatt ist ja Vorhanden nur wird es eben in zelle H4 nicht angegeben weil die Tabelle voll ist.
eine Abrfage auf die Zelle H4 wäre mir lieber ... kenne mich im Makro einfach zu wenig aus ... den code hab ich vor 2 jahren hier aus dem forum für ein anderes Problem bekommen... aber ich steig noch nicht so richtig hinter die thematik was was bewirkt etc.
mfg
Soge
um ehrlich zu sein nein. Das Tabellenblatt ist ja Vorhanden nur wird es eben in zelle H4 nicht angegeben weil die Tabelle voll ist.
eine Abrfage auf die Zelle H4 wäre mir lieber ... kenne mich im Makro einfach zu wenig aus ... den code hab ich vor 2 jahren hier aus dem forum für ein anderes Problem bekommen... aber ich steig noch nicht so richtig hinter die thematik was was bewirkt etc.
mfg
Soge
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makro Ausgabebox
Die Fehlermeldung "no such element exception" in der Zeile mit Zugriff auf ein Tabellenblatt mit Name (getByName) bedeutet definitiv, dass das Blatt mit dem Namen nicht vorhanden ist.
Wenn Du H4 abfragen willst, dann mach' das auch
Wenn Du H4 abfragen willst, dann mach' das auch
Code: Alles auswählen
If ThisComponent.Sheets().getByName( "Eingabe_Ausgabe" ).getCellRangeByName( "H4" ).String = "kein platz verfügbar" Then
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Makro Ausgabebox
hi,
hab jetzt etwas gebraucht aber jetzt funktioniert es.
vielen Dank für die Mühen
mfg
Soge
hab jetzt etwas gebraucht aber jetzt funktioniert es.
vielen Dank für die Mühen

mfg
Soge