Auf unserem Server ist für eine Gruppe von Nutzern eine sxc.Datei zum Recherchieren abgelegt. Diese Datei öffnet sich nur für den ersten Nutzer ohne Schreibschutz. Somit kann nur er das integrierte Suchfeld beschreiben.
Um allen Nutzern den Zugriff gleichermaßen zu ermöglichen, war mein Lösungsansatz, dass sich beim Öffnen die Datei automatisch unter einem anderen Namen abspeichert (z. B. durch Ergänzung mit fortlaufender Nummer).
Dieses Abspeichern muss allerdings im selben Ordner erfolgen. Durch die Struktur unseres Netzwerkes hat jeder seinen eigenen Pfad zum Gruppenordner. Daher ist es wichtig, dass dieser Verzeichnispfad selbstständig ausgelesen wird.
Luxus wäre noch das Wegfallen der Warnmeldung für Makros.
Bei meiner Suche bin ich u. a. auf folgenden Hinweis gekommen:
viewtopic.php?t=4150&highlight=abspeichern
Allerdings war ich nicht in der Lage, das auf mein Problem zu übertragen und wäre für Eure Hilfe sehr dankbar.
Gruß Lutz
Datei beim Öffnen automatisch abspeichern – Makro?
Moderator: Moderatoren
Hi,
vielleicht hilft Dir auch dieser Link weiter (natürlich mit entsprechender Anpassung): http://www.ooowiki.de/FortlaufendeRechnungsnummer
Gruß,
Rebecca
vielleicht hilft Dir auch dieser Link weiter (natürlich mit entsprechender Anpassung): http://www.ooowiki.de/FortlaufendeRechnungsnummer
Gruß,
Rebecca
Hey Lutz,
wenn das geöffnete Dokument bereits einen Pfad hat (eine URL), kannst du diesen im Makro mit folgenden Code auslesen:
Es gibt in den mitgelieferten Makros auch eine vordefinierte Funktion, dann musst du halt die entsprechende Bibliothek laden und die Funktion aufrufen. Das Ergebnis ist das gleiche. (Ich weiss die funktion leider nicht mehr, da musst du selbst suchen.
Der zweite Schritt wäre, dass du irgendwo einen "Zähler" plazieren musst, z.B. in einer kleinen Textdatei, die nur die letzte Zahl beinhaltet - sonst ist ein "hochzählen" schwierig.
Na ja, und das Ganze dann zusammen in einem Code sollte dir dein Problem lösen.
Gruss
Thomas
PS: Die meldung bekommst du damit weg, dass du den Pfad in die Liste der sicheren Pfade aufnimmst (Extras - Optionen- OpenOffice.org - Sicherheit -> Makrosicherheit.)
wenn das geöffnete Dokument bereits einen Pfad hat (eine URL), kannst du diesen im Makro mit folgenden Code auslesen:
Code: Alles auswählen
sub Dateipfad
oDoc = thisComponent
sAktURL = oDoc.url
n = 1
do until instr(n, sAktUrl, "/") = 0
n = instr(n, sAktUrl, "/") +1
loop
sPfad = left(sAktURL, n-1)
msgbox sPfad
end sub
Der zweite Schritt wäre, dass du irgendwo einen "Zähler" plazieren musst, z.B. in einer kleinen Textdatei, die nur die letzte Zahl beinhaltet - sonst ist ein "hochzählen" schwierig.
Na ja, und das Ganze dann zusammen in einem Code sollte dir dein Problem lösen.
Gruss
Thomas
PS: Die meldung bekommst du damit weg, dass du den Pfad in die Liste der sicheren Pfade aufnimmst (Extras - Optionen- OpenOffice.org - Sicherheit -> Makrosicherheit.)
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Datei beim Öffnen mit Makro automatisch abspeichern
Hallo Rebecca, Hallo Thomas,
leider komme ich mit Euren Tipps aufgrund meiner geringen Kenntnisse in der Makroprogrammierung nicht wesentlich weiter. Ich habe nun schon einige Zeit vergeblich versucht, den Code zusammen zu stellen.
Das mit dem Pfad auslesen klappt ja schon prima. Nur leider wird dieser in einem Menüfenster angezeigt. Dieser soll aber als Grundlage für die Dateien dienen, die sich dann automatisch unter fortlaufender Nummer im gleichen Ordner abspeichern sollen.
Zum Thema Pfadnamen auslesen hatte ich noch folgenden Code gefunden:
rem filename auslesen
DIM oMasters as Object
DIM oFeld as object ' das Textfeld
oMasters = ThisComponent.getTextFieldMasters()
oFeld = oMasters.getByName("com.sun.star.text.FieldMaster.User.filename")
'msgbox oFeld.name
'msgbox oFeld.content
rem filename auslesen ende
Allerdings weiß ich nicht, wie ich diesen Code anpassen muss. Auch für den Link von Rebecca fehlt mir das nötige Hintergrundwissen.
Gibt es vielleicht noch eine andere Möglichkeit oder erbarmt sich ein kreativer Makroprogrammierer? Das wäre wirklich toll!
Gruß Lutz
leider komme ich mit Euren Tipps aufgrund meiner geringen Kenntnisse in der Makroprogrammierung nicht wesentlich weiter. Ich habe nun schon einige Zeit vergeblich versucht, den Code zusammen zu stellen.
Das mit dem Pfad auslesen klappt ja schon prima. Nur leider wird dieser in einem Menüfenster angezeigt. Dieser soll aber als Grundlage für die Dateien dienen, die sich dann automatisch unter fortlaufender Nummer im gleichen Ordner abspeichern sollen.
Zum Thema Pfadnamen auslesen hatte ich noch folgenden Code gefunden:
rem filename auslesen
DIM oMasters as Object
DIM oFeld as object ' das Textfeld
oMasters = ThisComponent.getTextFieldMasters()
oFeld = oMasters.getByName("com.sun.star.text.FieldMaster.User.filename")
'msgbox oFeld.name
'msgbox oFeld.content
rem filename auslesen ende
Allerdings weiß ich nicht, wie ich diesen Code anpassen muss. Auch für den Link von Rebecca fehlt mir das nötige Hintergrundwissen.
Gibt es vielleicht noch eine andere Möglichkeit oder erbarmt sich ein kreativer Makroprogrammierer? Das wäre wirklich toll!
Gruß Lutz