Makro Ausgabebox

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro Ausgabebox

Re: Makro Ausgabebox

von Soge » So, 03.04.2011 22:29

hi,

hab jetzt etwas gebraucht aber jetzt funktioniert es.
vielen Dank für die Mühen :)

mfg
Soge

Re: Makro Ausgabebox

von komma4 » So, 03.04.2011 22:14

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

Code: Alles auswählen

If ThisComponent.Sheets().getByName( "Eingabe_Ausgabe" ).getCellRangeByName( "H4" ).String = "kein platz verfügbar" Then

Re: Makro Ausgabebox

von Soge » So, 03.04.2011 22:01

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

Re: Makro Ausgabebox

von komma4 » So, 03.04.2011 21:50

Du brauchst an der Stelle eine Abfrage, ob das gewünschte Tabellenblatt "Vermögensverwaltung" überhaupt vorhanden ist... das sagt die Fehlermeldung nämlich.

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?

Re: Makro Ausgabebox

von Soge » So, 03.04.2011 21:35

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

Code: Alles auswählen

BASIC-Laufzeitffehler.
Es ist eine Extension aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: .
an der stelle: blatt2=ThisComponent.sheets.getbyName(a(0))

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
Edit: ganz vergessen :D
viel lieber wäre mir eine meldung wie

Code: Alles auswählen

Mehr Zeilen können in dieser Tabelle nicht geschrieben werden!
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

Re: Makro Ausgabebox

von komma4 » So, 03.04.2011 21:17

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!

Makro Ausgabebox

von Soge » So, 03.04.2011 20:30

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

Nach oben