Hallo Bernd, *,

Bernd Schukat schrieb:
> Aufgabe: Ich möchte in ein Calc-Dokument per Makro ein neues
> Tabellenblatt einfügen.
> Klappt auch problemlos, solange das neue Blatt nicht "das
> Letzte" ist. Es muß immer noch
> mindestens 1 Blatt dahinter liegen.
>
> Code-Auszug:
>
> dim args2(1) as new com.sun.star.beans.PropertyValue
> args2(0).Name = "Name"
> args2(0).Value = "Rechnung"
> args2(1).Name = "Index"
> args2(1).Value = 5
>
> Wenn args2(1).Value = X   müssen X+1 Blätter im Dokument
> vorhanden sein.
>
> Deucht mich seltsam. Wer weiß mehr ???

Ich kann Deine Beobachtung nachvollziehen.

Der Grund für das Problem ist dem Augenschein nach wohl das der
Makrorekorder bei der Aufzeichnung keinen gesonderten Parameter für vor
oder nach dem aktuellen Blatt einfügen aufzeichnet und beim Abspielen
des Makros dann immer der Defauft (=vor) gilt und das nur geht wenn Dein
o.g. X+1 gilt

Als 'Schnellkorrektur' sollte es beispielsweise reichen die Zeile:

args2(1).Value = 5

zu ändern in:

args2(1).Value = ThisComponent.Sheets().Count


Besser dürfte es sein wenn Du Dir in der StarBasic-FAQ ansiehst wie Du
sowas mit 'nativem' Code löst:
http://www.dannenhoefer.de/faqstarbasic/WiekannmanArbeitsbltterlschen,er
zeugen,k.html



Gruß
Jörg



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an