Seite 1 von 1

Makro direkt nach dem Aufruf starten?

Verfasst: Mo, 03.03.2008 13:27
von Hago
Hallo,

ich möchte gerne eine dBase Datei öffnen und dann automatisch, also "onLoad" ein Makro zur Weiterverarbeitung starten lassen.

Ist das möglich und wenn ja, wie?

Grüße, Hago

Re: Makro direkt nach dem Aufruf starten?

Verfasst: Mo, 03.03.2008 13:38
von ykcim
Hallo,

das geht nicht direkt. Makros lassen sich nur mit dem Öffnen (oder anderen Ereignissen) eines OpenOffice-Dokumentes verknüpfen. Wenn Du das Öffnen der Dbase-datei in ein Makro packst, kannst Du dieses mit dem Öffnen einer Datei verknüpfen.

mfg
Michael

Re: Makro direkt nach dem Aufruf starten?

Verfasst: Mo, 03.03.2008 13:57
von Hago
Danke Michael, versuch' ich mal.

Hago

Re: Makro direkt nach dem Aufruf starten?

Verfasst: Mo, 03.03.2008 14:21
von Hago
Hallo,

so hab' ich das jetzt gemacht, aber es tut sich nichts, gar nichts:

Code: Alles auswählen

dim arg(0) as new com.sun.star.beans.PropertyValue
dim sURL as String
arg(0).name = "FilterName"
arg(0).value = "dBase"
sURL = "file:///C:/Dokumente%20und%20Einstellungen/Hago%20Ziegler/Eigene%20Dateien/Kunden.dbf"
StarDesktop.loadComponentFromURL(sURL, "_blank", 0, arg())
Fast wörtlich aus dem Buch übernommen :-) aber es kommt nicht mal 'ne Fehlermeldung
Was mach' ich denn falsch?

Hago

Re: Makro direkt nach dem Aufruf starten?

Verfasst: Mo, 03.03.2008 17:29
von komma4
Öffne ich hier dBase-Dateien, dann werde ich nach der anzuwendenden Kodierung gefragt.

Das fehlt in Deinem Makro:

Code: Alles auswählen

' http://www.oooforum.org/forum/viewtopic.phtml?t=66801
dim arg(1) as new com.sun.star.beans.PropertyValue
arg(0).name = "FilterName"
arg(0).value = "dBase"
arg(1).name = "FilterOptions"
arg(1).value = "0"   'System Character Set Umlaute werden richtig 
Damit klappt es hier. Und bei Dir?

[habe nur engliche DBFs - Umlaute nicht getestet!]

Re: Makro direkt nach dem Aufruf starten?

Verfasst: Mo, 03.03.2008 20:19
von Hago
Hallo Winfried,

danke für die Hilfe.
Ich habe Deinen Code übernommen. Die ganze sub sieht jetzt so aus:

Code: Alles auswählen

sub dBase_importieren
 Dim Doc As Object
 Dim sURL as String
 Doc = StarDesktop.CurrentComponent
 Dim arg(1) as new com.sun.star.beans.PropertyValue
  arg(0).name = "FilterName"
  arg(0).value = "dBase"
  arg(1).name = "FilterOptions"
  arg(1).value = "0"
  sURL = "file:///C:/Dokumente%20und%20Einstellungen/Hago%20Ziegler/Eigene%20Dateien/Kunden.dbf"   
  Doc =  StarDesktop.loadComponentFromURL(sURL, "_blank", 0, arg())
end sub
Leider geht's nicht.

Um zu testen, ob ich irgend einen ganz grundlegenden Fehler mache, habe ich mal mit dem selben Makro, mit nur wenigen Änderungen eine csv-Datei geöffnet. Das hat sofort geklappt. Wenn ich dann die Werte wieder für die dBase-Datei ändere geht nichts mehr.
Ich weiß mir nicht mehr so recht zu helfen...

Gruß, Hago

Re: Makro direkt nach dem Aufruf starten?

Verfasst: Do, 06.03.2008 13:58
von Hago
Ich hab inzwischen raus bekommen, wie es geht.
siehe viewtopic.php?f=2&t=16480

Gruß, Hago