Star Office 5.0: Makro funktioniert Fehlerhaft

wer hilft mir einem Problem mit Makros bei StarOffice 5.0??

In meinem Fall:

Wenn ich ein Makro erstelle, mit dem ich von einem Textdokumen aus (mit eingebundener Tabelle) ein weiteres Dokument öffne, erhalte ich immer die Fehlermeldung: „Basic Laufzeitfehler: Objektvariable nicht erkannt“.
Dabei bleibt der Vorgang stehen bei der Zeile „(unbenannt1:1).Activate()“.
Woran liegt das und wie kann ich das verhindern.
Bei Word funktioniert dies einwandfrei.

Grüsse
Wolfgang Stache

Hi Wolfgang,

etwas mehr Source-Code würde helfen, so kann ich das Problem nicht reproduzieren. Was sollen die runden Klammern in deinem Beispiel? Namen werden mit eckigen Klammern umgeben. Ausserdem kommt mir die Vorgehensweise eh etwas unsicher vor. Also, zeig mal etwas mehr von einem Source.

Danke
     Michael

Hallo Michael,
zunächst danke für Deine Rückantwort.
Tatsächlich waren die Angaben recht undefiniert.
Hier eine vollständige Makroaufzeichnung bei dem das Problem ebenfalls auftritt:

Sub Neu
'Aufgezeichnetes Makro: Freitag, 18. Februar 2000, 11:49
Documents.Open( „file:///O|/GESCHÄFT/Vorlagen/Rechnungsvorlage Star Office.sdw“, „“, „“, „“, 0, „private:user“ )
[Rechnungsvorlage Star Office:1].Activate()
Selection.GoDown( 18, FALSE )
Selection.GoRight( 14, FALSE )
Selection.Font.FontDialog()
Selection.InsertDateField()
Selection.GoUp( 9, FALSE )
ActiveDocument.SaveAs( „file:///O|/GESCHÄFT/Rechnung/Dayfile/vorlage.sdw“, „swriter: StarWriter 5.0“, „“, „“ )
End Sub

So, und bei Ausführung Öffnet sich [Basic - Office.Standard]:
Basic Laufzeitfehler. Objektvariable nicht belegt. Dabei ist die Zeile (s.o.)

[Rechnungsvorlage Star Office:1].Activate()

blau markiert.

Hoffentlich genügen diese Angaben.

Herzlichen Gruss
Wolfgang Stache

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Wolfgang,

der Makrorekorder ist nicht so prall, das gebe ich zu.

Documents.Open(
„file:///O|/GESCHÄFT/Vorlagen/Rechnungsvorlage
Star Office.sdw“, „“, „“, „“,
0, „private:user“ )
[Rechnungsvorlage StarOffice:1].Activate()

Formuliere das wie folgt um:

Documents.Open( „file:…“ ) ).Activate()

oder noch besser:

oWin = _
Documents.Open( „file:…“ ).Activate()
oWin.Selection.GoDown …

Ja, die Parameter weglassen, das ist das Hauptproblem. Ansonsten ist es immer besser, möglichst bald im Makro mit einem konkreten Fenster oder Dokument zu arbeiten statt mit den globalen kontextabhängigen ActiveDocument, ActiveWindow und Selection Variablen. Oder: wenn das Makro im Dokument selbst ist mit ThisWindow und ThisDocument - das ist eine gute Lösung.

Viel Erfolg,
     Michael

Hallo Michael,
jetzt habe ich das Makro so vereinfacht, wie nur irgendwie möglich:

Sub Neu
'Aufgezeichnetes Makro: Freitag, 18. Februar 2000, 19:24
Documents.Open( „file:///O|/GESCHÄFT/VORLAGEN/Rechnungsvorlage Star Office.sdw“, „“, „“, „“, 0, „private:user“ )
[Rechnungsvorlage Star Office:1].Activate()
End Sub

wie ich Deine Angaben verstanden habe, entferne ich lediglich [Rechnungsvorlage Star Office:1].

So funktioniert es leider nicht.
Was mache ich verkehrt??

Nochmals Grüsse
(aus dem Süden)

Wolfgang

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Wolfgang,

[Rechnungsvorlage Star
Office:1].Activate()
End Sub

wie ich Deine Angaben verstanden habe,
entferne ich lediglich [Rechnungsvorlage
Star Office:1].

So funktioniert es leider nicht.
Was mache ich verkehrt??

also mein Code lief! Du kannst nicht einfach [Rechnungsvorlage Star Office:1] weglassen, sondern verwendest am besten eine Variable, der du das Ergebnis von dem „Open“ zugewiesen hast.

Evtl. kannst du auch die ganze Zeile mit dem „Activate“ weglassen, da ein Dokument beim öffnen eh automatisch aktiviert wird.

Viel Erfolg
      Michael