Seite 1 von 1
Dateiname bei "Speichern unter"
Verfasst: Do, 14.11.2013 21:35
von Totengräber
Hallo,
seit längerer Zeit suche ich für ein Problem in OOWriter eine Lösung:
Wenn ich in MS Word oder OOWriter eine MS Word-Dateivorlage (.dot) als Dokument öffne (.ODT) und die geänderte Date speichern will, so wird mir als Dateiname der Eintrag unter "Titel" aus den Dateieigenschaften als Dateiname vorgeschlagen und nicht "Unbenannt".
Habe ich eine .DOT in eine .OTT Version umgewandelt oder eine .OTT frisch erstellt, so wird mir beim Speichern einer Datei nur "Unbenannt" angeboten, auch wenn im "Titel" der Eigenschaften ein Eintrag vorhanden ist. Gibt es eine Möglichkeit auch hier den Titel als Dateiname angeboten zu bekommen.
Diese Kleinigkeit finde ich sehr praktisch, da ich regelmässig gleich benannte Dateien in unterschiedlichen Verzeichnissen anlegen muss, z.B. "Rechnung".
Vielen Dank für die Hilfe.
Re: Dateiname bei "Speichern unter"
Verfasst: Do, 14.11.2013 21:47
von F3K Total
Na,
dann öffne doch eine "Rechnung.odt" und speichere sie in einem anderen Verzeichnis.
Gruß R
Re: Dateiname bei "Speichern unter"
Verfasst: Fr, 15.11.2013 10:11
von komma4
Willkommen im Forum.
Vielleicht hilft Dir das folgende Makro weiter:
Code: Alles auswählen
SUB de62778
' 2013-11-15
' öffnen Verzeichnisauswahl
' Speichern mit Namensvorschlag aus Datei>Eigenschaften>Titel
oDok = ThisComponent
IF oDok.hasLocation() THEN
EXIT SUB
END IF
IF isEmpty( oDok.DocumentProperties.Title ) THEN
EXIT SUB
END IF
oSaveThereDialog = _
CreateUnoService( "com.sun.star.ui.dialogs.FolderPicker" )
' object for file services
WITH oSaveThereDialog
' set titel
.setTitle( "Datei>Sichern mit Titel im Verzeichnis..." )
' set start directory
.setDisplayDirectory("file:///tmp/")
END WITH
' Dialog anzeigen, ausführen Aktion bei OK
IF oSaveThereDialog.execute() = _
com.sun.star.ui.dialogs.ExecutableDialogResults.OK THEN
sFolder = oSaveThereDialog.getDirectory()
sName = oDok.DocumentProperties.Title
sDateiName = sFolder & getPathSeparator & sName
IF FileExists( sDateiName ) THEN
MSGBOX "Datei bereits vorhanden, wähle einen anderen Ort" & _
CHR(13) & sDateiName, 48 , "kann nicht automatisch speichern"
EXIT SUB
END IF
oDok.storeAsURL( sDateiName , Array() )
END IF
END SUB
Speichere es in einer Standard-Bibliothek (der Vorlage oder Deiner OOo-Installation) und binde es an eine Tastenkombination (bspw. STRG+Umschalt+s) - wie das beides geht steht im
Wiki
Hilft das weiter?
Re: Dateiname bei "Speichern unter"
Verfasst: So, 31.01.2016 16:18
von F3K Total
Hallo
huber, oder soll ich besser
Remo sagen?
Du hast die selbe Frage
hier schon einmal gestellt.
Bitte ließ dir die
Allgemeinen Hinweise zur Forumsbenutzung, insbesondere den Absatz
Crossposting nicht erwünscht, aber toleriert durch.
Es ist im Übrigen ziemlich dreist, hier jemanden zu suchen, der dir dein Makro für nullinger umschreiben soll.
R
Re: Dateiname bei "Speichern unter"
Verfasst: Di, 02.02.2016 16:08
von omer
Hallo F3K Total
Du hast ja recht. Ich dachte, in bin im openoffice-forum.de. Darum wurde Remo nicht angenommen. Ich habe da die Foren durch-
einander gebracht. Hier lautet mein Name auch Remo, nur Rückwärts.
Es hat zwar sehr lange gedauert, aber ich habe das Makro dann doch noch hinbekommen. Sicher umständlich, aber es funktioniert.
Ich kann nun Briefe automatisch mit Dateiname + Datum + laufende Nummer abspeichern.
Du kannst es Dir ja mal anschauen. Vielleicht gefällt es Dir.
Code: Alles auswählen
Sub MitDatumSpeichern()
Pfad = "W:\Eigene Dateien\OpenOffice\"
Pfad2 = "W:/Eigene%20Dateien/OpenOffice/"
Trenner = "_"
DateiZusatz = ".odt"
lngAnzahl = 200 ' Anzahl der laufenden Nummern
Exist = 5
rem -------------------------------------------------------------
SuchText = thiscomponent.title ' Datei ohne datum feststellen
OrgDatei = SuchText
SuchZeichen = "_" ' Altname bis "_" feststellen
Pos1 = Instr(SuchText,SuchZeichen)
If Pos1 > 0 Then AltName = Left(SuchText,Pos1-1)
If Pos1 > 0 Then DateiName = SuchText
Voreinstellung = AltName
Mldg = "Dateiname OHNE Datum eingeben !"
Titel = "Datei speichern"
DateiName = InputBox(Mldg, Titel, Voreinstellung)
If DateiName = "" then x = 2 : goto ende
Rem----------------------------------------------------------------
SuchText = Dateiname ' evtl, "_" entfernen
SuchZeichen = "_"
Pos1 = Instr(SuchText,SuchZeichen)
If Pos1 > 0 Then AltName = mid(SuchText,Pos1)
If Pos1 > 0 Then DateiName = SuchText
Rem----------------------------------------------------------------
If DateiName = "" Then x = 1 : goto ende
x = 3
Rem ----------------------------------------------------------------
KurzName = DateiName
Datum = Format(Now(), "yymmdd")
lngNummer = 1
Datei = Pfad & Kurzname & Trenner & Datum & Trenner & lngNummer & DateiZusatz
if fileexists(datei) then
antwort = MsgBox ("Das aktive Dokument ( " & DateiName & " ) wurde bereits " & _
"gespeichert. " & chr(13) & chr(13) & "Wollen Sie es " & _
"erneut unter Angabe des Datums speichern?" & _
chr(13) & chr(13) & chr(13) & "Wenn nein, dann abbrechen." & chr(13) & " ", 1 , Titel )
if antwort = 2 then x = 2 : goto ende
rem------------------------------------------------------------------------------------------------------
Dateiname = PFAD2 & DateiName & TRENNER & Datum & TRENNER
lngNummer = 1
rem-----------------------------------------------------------------------------------------------------
for i = 1 to lngAnzahl ' Prüfen ob Datei existiert
Datei = Pfad & KurzName & trenner & Datum & Trenner & lngNummer & dateizusatz
If FileExists(Datei) Then
lngNummer = lngNummer + 1
else
exist = 0
End if
if exist = 0 then exit for
next i
rem ----------------------------------------------------------------------------------------------------
ende:
If x = 1 Then Mldg = "Dateiname fehlt ! Dokument nicht gespeichert !": _
Antwort = MsgBox(Mldg, 0 , Titel): end
If x = 2 Then Mldg = "Dokument nicht gespeichert !": _
Antwort = MsgBox(Mldg, 0 , Titel) : end
End If
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Datei = "file:///" & Pfad2 & KurzName & Trenner & Datum & Trenner & lngNummer & dateizusatz
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = Datei
args1(1).Name = "FilterName"
args1(1).Value = "writer8"
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
End Sub
_________________
Moderation: Zur übersichtlichen Darstellung des Textes und vom Programmcode im Text [code][/code] Tags gesetzt. – lorbass, Moderator