Ein Calc-Dokument per Makro öffnen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Ein Calc-Dokument per Makro öffnen

Beitrag von arkadiuszpaluszek »

Hallo mal wieder!

Bin auf folgendes Problem gestossen, per folgenden Code lade ich aus einem Writer - Dokument heraus eine Calc-Tabelle:

Code: Alles auswählen

Dim Doc as Object
Dim Url as String
Dim Dummy()
Url="file:///[b]K:/Jeffrey/[/b]DBZugang.ods"
Doc=StarDesktop.loadComponentFromURL(Url,[b]"_hidden"[/b],0,Dummy())
myDoc=Doc ' Hier greife ich auf die Calc-Tabelle zu um die Daten zu lesen
mysheet=mydoc.sheets(0)
mycell=mysheet.getcellbyposition(0,0)
mystring=mycell.string
msgbox ("Mystring ="+mystring)
Hierbei habe ich zwei Probleme:
1. Obwohl beim Laden "_hidden" angegeben wurde, wird das Dokumentfenster angezeigt, es ist sichtbar. Das sollte es doch nicht, oder??? Ich möchte, dfass man die Tabelle aus der ich Daten lese nicht sieht.
2. Problem mit der Url: Ich hätte gerne eine relative Url, die Pfadangabe könnte ja von PC zu PC variieren, wie kann ich in der Url angeben, dass die Datei im gleichen Ordenr gesucht werden soll, in welchem das aktuell geöffnete Dokument sich befindet?

Viele Grüße

Arek


Moderation,4: CODE-tags gesetzt
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Ein Calc-Dokument per Makro öffnen

Beitrag von komma4 »

1. der zweite Parameter ist der TargetFrameName, der Wert "_hidden" ist nicht gültig.
API-Referenz

Zum verdeckten Öffnen musst Du eine Eigenschaft setzen und mitgeben; suche mal nach HIDDEN im Forum - und Du wirst fündig.

2. nein, das geht nicht. Du musst immer eine voll-qualifizierte URL angeben.
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)
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Ein Calc-Dokument per Makro öffnen

Beitrag von DPunch »

Aloha

Zu Punkt 2:
Das ist natürlich machbar, aber eben nicht mit einem einfachen Zusatz ala "HIDDEN".
Du müsstest die URL des geöffneten Dokuments auslesen und den relativen Pfad hinten dran hängen.
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Re: Ein Calc-Dokument per Makro öffnen

Beitrag von ykcim »

Hallo,

wie schon gesagt der Parameter "_hidden" ist an der Stelle verkehrt.

Es geht über den Mediadescriptor:

Code: Alles auswählen

    url=converttourl("C:\test.sxw")
    dim myFileProp(0) as New com.sun.star.beans.PropertyValue
    myFileProp(0).name="Hidden"
    myFileProp(0).value=True
    oDocument = StarDesktop.loadComponentFromURL(url, "_blank", 0, myFileProp() )

mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
Antworten