Hallo,
ich habe 2 Calc-Dokumente:
1) Export_Name.ods: "Name" steht für eine Mitgliedernamen, z.B. Meier, Müller etc. Dieses Dokument (mit 6 Tabellen) wird in einer Datenbankapplikation erzeugt und enthält aus dieser Datenbank exportierte Daten eines Mitglieds.
2) Matrikel.ods: dieses Dokument erstellt mit Hilfe von Makros aus den Daten von z.B. Export_Meier.ods oder Export_Müller ein Matrikelblatt im PDF-Format.
Wie das Übertragen von Daten aus einem Dokument in ein anderes (also in diesem Fall von Export_Name.ods in Matrikel.ods) mit Makro funktioniert weiß ich, das habe ich in anderen Fällen schon gemacht.
Meine Frage ist nun: wie kann ich mit Hilfe eines Makros aus dem im Dokument Makro.ods den Namen des Import-Dokuments Export_Name.ods finden? Beide Dokumente liegen im gleichen Verzeichnis und ich kann es so einrichten, dass es da immer nur ein Dokument Export_Name.ods gibt.
D.h. das Makro müsste das Verzeichnis nach einem Dokument durchsuchen das mit den Zeichen "Export" beginnt und dieses im Hintergrund öffnen.
Danke für Hinweise und Hilfe!
🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Dateinamen mit Makro einlesen
Dateinamen mit Makro einlesen
Grüße
kilix
kilix
Re: Dateinamen mit Makro einlesen
Hallo,
ich habe dieses Problem auf andere Weise gelöst. Nachdem es in diesem Fall günstiger ist zuerst alle Dateien Export_Name.ods aus der Voranwendung zu exportieren und dann nacheinander mit dem Dokument Matrikel.ods zu bearbeiten macht es Sinn die Dateinamen nacheinander in das Dokument Matrikel.ods in ein Feld zu kopieren, dann den entsprechenden Exportdateinamen mit Makro einzulesen und die Exportdatei zu öffnen. Das funktioniert auch problemlos.
Einzig, die neu geöffnete Datei erscheint im Vordergrund und ich muss über den Menübefehl die Matrikeldatei wieder in den Vordergrund bringen.
Daher meine Frage: wie kann ich die Exportdatei im Hintergrund, also hinter der Matrikel.ods, öffnen?
Ich habe bisher diesen Code geschrieben:
Daran wird dann der Code anghängt mit dem Daten aus dem Export-Dokument in Matrikel.ods übertragen werden.
ich habe dieses Problem auf andere Weise gelöst. Nachdem es in diesem Fall günstiger ist zuerst alle Dateien Export_Name.ods aus der Voranwendung zu exportieren und dann nacheinander mit dem Dokument Matrikel.ods zu bearbeiten macht es Sinn die Dateinamen nacheinander in das Dokument Matrikel.ods in ein Feld zu kopieren, dann den entsprechenden Exportdateinamen mit Makro einzulesen und die Exportdatei zu öffnen. Das funktioniert auch problemlos.
Einzig, die neu geöffnete Datei erscheint im Vordergrund und ich muss über den Menübefehl die Matrikeldatei wieder in den Vordergrund bringen.
Daher meine Frage: wie kann ich die Exportdatei im Hintergrund, also hinter der Matrikel.ods, öffnen?
Ich habe bisher diesen Code geschrieben:
Code: Alles auswählen
sub Exportdatei
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oDoc = thisComponent
'Dateiname einlesen (=Name)
oSheet = oDOC.sheets(0) 'Tabellennummer, bei 0 beginnend)
oView = oDOC.CurrentController
oZelle = oSheet.getCellRangeByName("M5") 'Zelle in der Dateinamen steht
Name=oZelle.string 'Name = Exportdateiname aus AVS
'Öffnen der ods-Datei
Dim args(1) as New com.sun.star.beans.PropertyValue
args(0).Name= "FilterName"
args(0).Value = "Text - txt - ods (StarCalc)"
'Aktuelles Verzeichnis einlesen und Datei basis.ods öffnen
surl = thiscomponent.url
apfad = split(surl,"/")
apfad(ubound(apfad)) = Name
sURL = convertToURL(join(apfad,"/"))
oODS = StarDesktop.LoadComponentFromURL(sURL, "_blank", 0, args())
Grüße
kilix
kilix
Re: Dateinamen mit Makro einlesen
Hallo,
auch der letzte Punkt hat sich von selbst gelöst denn nach der Übertragung aller Daten habe ich das Dokument Export_Namen.ods geschlossen und damit das erreicht was ich wollte.
auch der letzte Punkt hat sich von selbst gelöst denn nach der Übertragung aller Daten habe ich das Dokument Export_Namen.ods geschlossen und damit das erreicht was ich wollte.
Grüße
kilix
kilix
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.