Hallo Experten,
ich habe mir ein Makro geschrieben, daß beim Schließen eines Dokuments ausgeführt wird.
Was ich nicht bedacht hatte, ist, dies Makro wird auch ausgeführt, wenn ich eine DokumentVORLAGE bearbeitet habe, was aber NICHT passieren soll.
Zuweisung des Makros an ein Ereignis beenden, und wieder setzen, birgt Fehler (Vergesslichkeit, falscher Klick [Ereignis], u.s.w.)
Wie kann ich innerhalb des Makro das Dateivormat, also nach *.ot? abfragen, sodaß ich bei Auftreten dieser Endung das Makro einfach beende (if ... exit sub)
Hab' mich schon dusselig gesucht, aber wohl an den falschen Stellen, mit den falschen Begriffen.
gruß
sven-my
Dateiformat ermitteln
Moderator: Moderatoren
Dateiformat ermitteln
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: Dateiformat ermitteln
Hallo
Bei einer Vorlage sollte es ausreichen das Makro an das Ereignis "Dokumentkopie speichern oder exportieren" zu binden.
Gruß Karo
Bei einer Vorlage sollte es ausreichen das Makro an das Ereignis "Dokumentkopie speichern oder exportieren" zu binden.
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Dateiformat ermitteln
Hallo Karo,
ich glaube das hast Du etwas falsch verstanden.
Ich möchte, daß das Makro nicht ausgeführt wird, wenn ich eine Vorlage bearbeitet habe.
Ich will ja die Vorlage speichern ! Aber als Vorlage !!!
gruß
sven-my
ich glaube das hast Du etwas falsch verstanden.
Ich möchte, daß das Makro nicht ausgeführt wird, wenn ich eine Vorlage bearbeitet habe.
Ich will ja die Vorlage speichern ! Aber als Vorlage !!!
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: Dateiformat ermitteln
Hallo
Und wenn du aus dieser Vorlage eine neues Dokument "Unbenanntx" erzeugst und nach Bearbeitung unter dem Namen "xyz.ods" speicherst wird das genannte Ereignis in Kraft treten (hoffe ich zumindest) - probiere doch meinen Vorschlag mal aus.
Gruß Karo
Das sollst du ja auch.Ich will ja die Vorlage speichern ! Aber als Vorlage
Und wenn du aus dieser Vorlage eine neues Dokument "Unbenanntx" erzeugst und nach Bearbeitung unter dem Namen "xyz.ods" speicherst wird das genannte Ereignis in Kraft treten (hoffe ich zumindest) - probiere doch meinen Vorschlag mal aus.
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Dateiformat ermitteln
Binde die Bibliothe TOOLS ein, frage ab, ob das Dokument schon gespeichert ist (weil es sonst bei einem nicht-gespeicherten zu einem Fehler kommt) und ermittle dann die Dateiendung mit der Routine GetFileNameExtensionsven-my hat geschrieben:Wie kann ich innerhalb des Makro das Dateivormat, also nach *.ot? abfragen, sodaß ich bei Auftreten dieser Endung das Makro einfach beende (if ... exit sub)
Code: Alles auswählen
If ThisComponent.hasLocation() Then
If NOT GlobalScope.BasicLibraries.isLibraryLoaded( "Tools" ) Then
GlobalScope.BasicLibraries.loadLibrary( "Tools" )
End If
DateiEndung = GetFileNameExtension( ThisComponent.getURL() )
If DateiEndung = "ott" Then
Exit Sub
End If
End If
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)
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)
Re: Dateiformat ermitteln
Hallo Karo,
man kann mit Vorlagen *.ott auf ZWEI Arten umgehen :
1. öffnen
2. bearbeiten
Wenn ich ÖFFNE erzeuge ich ein neues Dokument auf Grundlage dieser Vorlage.
Wenn ich BEARBEITE ändere ich die Vorlage
Mit dem Makro wird das neue Dokument geändert, was ich aber nicht in der Vorlage haben will.
gruß
sven-my
man kann mit Vorlagen *.ott auf ZWEI Arten umgehen :
1. öffnen
2. bearbeiten
Wenn ich ÖFFNE erzeuge ich ein neues Dokument auf Grundlage dieser Vorlage.
Wenn ich BEARBEITE ändere ich die Vorlage
Mit dem Makro wird das neue Dokument geändert, was ich aber nicht in der Vorlage haben will.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: Dateiformat ermitteln [gelöst]
Hallo komma4,
mir schein, das ist genau das was ich suchte.
Geht das mit "Tools" einbinden nicht etwas einfacher ? (ohne die verschachtelte if..Abfragen.)
Das Makro wird ansich schon gleich zu Anfang abgefangen, wenn ein Dokument gespeichert werden soll, daß NICHT aus bestimmten Vorlagen entstanden ist.
Die Voralgen haben eine bestimmte Buchstabenkombination in 'Eigenschaften/Beschreibung/Titel'.
Mit dieser Vorlage ist ein Makro gekoppelt, daß mir, abhängigt vom Empfänger einen Speichernamen erzeugt, und das leere Dokument (bis auf den Inhalt, der aus der Vorlage kommt) speichert. Dieses Makro ist speziell auf mein Adreß-Programm abgestimmt, sodaß ich nicht sehr universell sein muß.
Aber dem Makro ist es wurscht, ob *.ott oder *.odt --- und genau dieses will ich ändern.
gruß
sven-my
Ok --- wer lesen kann, der lese
Jetzt habe ich die Verschachtelung verstanden : wenn "Tools" nicht geladen, dann lade, wenn geladen, laß es bleiben.
o.a. Frage hat sich also erübrigt.
gruß
sven-my
EDIT
Hallo Winfried,
hat hervorragend geklappt - herzlichen Dank für den Code UND die Schnelligkeit.
gruß
sven-my
mir schein, das ist genau das was ich suchte.
Geht das mit "Tools" einbinden nicht etwas einfacher ? (ohne die verschachtelte if..Abfragen.)
Das Makro wird ansich schon gleich zu Anfang abgefangen, wenn ein Dokument gespeichert werden soll, daß NICHT aus bestimmten Vorlagen entstanden ist.
Die Voralgen haben eine bestimmte Buchstabenkombination in 'Eigenschaften/Beschreibung/Titel'.
Mit dieser Vorlage ist ein Makro gekoppelt, daß mir, abhängigt vom Empfänger einen Speichernamen erzeugt, und das leere Dokument (bis auf den Inhalt, der aus der Vorlage kommt) speichert. Dieses Makro ist speziell auf mein Adreß-Programm abgestimmt, sodaß ich nicht sehr universell sein muß.
Aber dem Makro ist es wurscht, ob *.ott oder *.odt --- und genau dieses will ich ändern.
gruß
sven-my
Ok --- wer lesen kann, der lese
Jetzt habe ich die Verschachtelung verstanden : wenn "Tools" nicht geladen, dann lade, wenn geladen, laß es bleiben.
o.a. Frage hat sich also erübrigt.
gruß
sven-my
EDIT
Hallo Winfried,
hat hervorragend geklappt - herzlichen Dank für den Code UND die Schnelligkeit.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable