dateiname aus Betreffzeile generieren

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Speedy
***
Beiträge: 95
Registriert: Di, 23.03.2004 12:53
Wohnort: Heddesheim

dateiname aus Betreffzeile generieren

Beitrag von Speedy »

Hallo zusammen,

warscheinlich bin ich nicht der erste, der diese Frage stellt, doch ich kann leider keinen Eintrag finden.

Ich arbeite schon ne weile mit OOo (Seit V. 1.1.0) und habe auch einige Vorlagen erstellt. Leider habe ich mich bis hezute noch nicht mit den Möglichkeiten der Makros auseinander gesetzt.

Hier also meine Frage:

Ich habe eine Dokumentenvorlage (Brief / Fax / etc.) welche ich rege benutze. Ich möchte jetzt, dass mir OOo den Dokumenten / Dateinamen immer aus bestimmten Feldern / Zeilen generiert

Also z.B. <DATUM>-<EMPFÄNGER>-<BETREFF>

Kann mir einer vielleicht helfen wie ich das machen kann / muss.

Schon jetzt daanke und grüße

Jörg
IBM Thinkpad R40 - Cetrino (Pentium-M 1400) / 512 MB / 80GB HDD / Windows XP Pro & Suse 10.2
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: dateiname aus Betreffzeile generieren

Beitrag von komma4 »

Speedy hat geschrieben:Ich möchte jetzt, dass mir OOo den Dokumenten / Dateinamen immer aus bestimmten Feldern / Zeilen generiert

Also z.B. <DATUM>-<EMPFÄNGER>-<BETREFF>
Hast Du schon richtig erkannt: hier kommt ein Makro zum Einsatz.
Frage ist hier: was verstehst Du unter Datum. Empfänger und Betreff? Felder aus einer verbundenen Datenquelle?

Und: besteht Deine Anforderung in einem automatischen Speichern unter dem vorgegebenen Dateinamen (in welchem Verzeichnis?), oder soll der Dateiname im Speichern-Dialog vorgeschlagen werden, aber änderbar sein? Was soll bei einer vorhandenen Datei gleichen Namens (am vorgesehenen Speicherort) passieren?
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)
Speedy
***
Beiträge: 95
Registriert: Di, 23.03.2004 12:53
Wohnort: Heddesheim

Beitrag von Speedy »

Frage ist hier: was verstehst Du unter Datum. Empfänger und Betreff? Felder aus einer verbundenen Datenquelle?
Datum, Betreff und Empfänger sind Zeilen / Felder aus dem Dokument, nicht aus einer Datenquelle
Und: besteht Deine Anforderung in einem automatischen Speichern unter dem vorgegebenen Dateinamen (in welchem Verzeichnis?), oder soll der Dateiname im Speichern-Dialog vorgeschlagen werden, aber änderbar sein? Was soll bei einer vorhandenen Datei gleichen Namens (am vorgesehenen Speicherort) passieren?
Also es soll nur der Dateiname im Speicher-Dialog vorgeschlagen werden. Sollte ein Dokument schon vorhanden Sein, soll nach dem Datum einfach "_1" eingetragen werden. Aber im Grunde kann ich das dann auch Händisch machen. Mir geht es nur darum den Dateinamen nicht immer neu zusammensetzten zu müssen. Das Verzeichnis ist ein Standardverzeichnis nach der Art:
x:\schriftwechsel

Schon jetzt danke für deine Mühe
IBM Thinkpad R40 - Cetrino (Pentium-M 1400) / 512 MB / 80GB HDD / Windows XP Pro & Suse 10.2
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Speedy hat geschrieben: Datum, Betreff und Empfänger sind Zeilen / Felder aus dem Dokument, nicht aus einer Datenquelle
Was sind für Dich "Felder"? Wie genau erzeugt?
Wie soll eine Programmierung "eine Zeile" finden? Ist natürlich möglich, wenn Du sagst "ich wohne in Brunsbüttel, also steht das Datum nach der Zeichenkette "Brunsbüttel, " und Betreff steht hinter "Betreff: ".... Das sollten wir noch klären, wo genau die Werte für den Namen kommen...

Wenn Du immer in einem Zielverzeichnis speicherst - und noch eine "halb-automatische" Nummerierung haben möchtest: empfehle ich ein Makro auf Tastenkombination [STRG+Umschalt+S] zu legen, gar nicht mal einen Dateidialog anzuzeigen.
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)
Speedy
***
Beiträge: 95
Registriert: Di, 23.03.2004 12:53
Wohnort: Heddesheim

Beitrag von Speedy »

Hallo,

also wie ich das Definiere würde ich in diesem Fall dir überlassen. Vielleicht über Textmarken oder über Felder (Feldfunktionen).

Wenn du mir Sagst wie es am einfachsten geht, ist es mir gleich! Hauptsache es funktioniert.

Grüße

Jörg
IBM Thinkpad R40 - Cetrino (Pentium-M 1400) / 512 MB / 80GB HDD / Windows XP Pro & Suse 10.2
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Codebeispiel zum Holen des Inhalts einer Textmarke

Code: Alles auswählen

sBriefDatum = _
ThisComponent.getBookmarks().getByName( "Datum" ).getAnchor().getString() 
Codebeispiel zum Holen des Inhalts einer benutzerdefinierten Variablen

Code: Alles auswählen

sMeinBetreff = _
ThisComponent.getTextFieldMasters().getByName("User.Betreff").Content
Speichern unter dem zusammengesetzten Namen

Code: Alles auswählen

ThisComponent.storeAsURL( ConvertToURL( sMeinDatum & sMeinBetreff, Array() )
Dies speichert ohne Dateierweiterung. Und überschreibt ohne Warnung!

Ein Codebeispiel für die Abfrage, ob die Zieldatei vorhanden ist, im Beispiel makeDayCopy.
Dort siehst Du auch Code, wie der Name um das Datum erweitert wird. Wenn Du noch die Uhrzeit anhängst, hast Du einen sekundengenauen, eindeutigen Dateinamen. Durch die Aufbereitung als ISO-Datum sind die Dateien dann auch prima sortierbar.
Reicht das als Anregung?
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)
Antworten