BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Dateiname in speichern unter kopieren

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
brainstuff2
Beiträge: 140
Registriert: Do 9. Jul 2020, 12:25

Dateiname in speichern unter kopieren

Beitrag von brainstuff2 » Sa 8. Aug 2020, 16:05

Ich arbeite zur Zeit auf einem MAC ... ich arbeite oft mit Vorlagen. Die lade ich dann und fülle sie aus und dann möchte ich sie unter einem speziellen Namen abspeichern, der in einer Zelle per formel erzeugt wird.

In der Zelle steht dann zum Beispiel xxxxx_12345.ods Das ist dann der Dateiname, den ich der Datei gebe, wenn ich sie abspeichere.

In einer einfachen Version müsste das mit CTRL-c kopiert werden, dann geht man auf "speichern unter" und macht CTRL-V. Dann müsste der Datei-Name im Feld dateiname stehen und dann ENTER und die Datei wird unter diesem Namen abgespeichert. Aber es ist auf diesem Mac anscheinend nicht möglich das mit kopieren einfügen zu erledigen.

Weiss jemand wie das geht?

Ideal wäre es wenn die Vorlage, beim ersten abspeichern automatisch unter dem Namen, der in einer Zelle steht abgespeichert würde.

Danke
brainstuff
Zuletzt geändert von brainstuff2 am Sa 8. Aug 2020, 17:26, insgesamt 1-mal geändert.

Pit Zyclade
Beiträge: 2674
Registriert: Mo 12. Nov 2012, 16:59

Re: Dateiname in speichern unter kopieren

Beitrag von Pit Zyclade » Sa 8. Aug 2020, 16:49

Zum 1 . Problem. Unter win geht das. Folglich mußt du in dem Mac-Unterforum das Problem posten,

Zum 2. Problem vermute ich keine Lösung außer durch ein Makro
LO 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

brainstuff2
Beiträge: 140
Registriert: Do 9. Jul 2020, 12:25

Re: Dateiname in speichern unter kopieren

Beitrag von brainstuff2 » Sa 8. Aug 2020, 17:24

Danke Pit Zyclade,


In Windows geht das mit dem kopieren und einfügen vom Dateinamen ganz gut. da könnte man das dann, wie Du sagst mit einem MACRO regeln ... aber das geht dann beim MAC auch nicht, weil man ja nichts einfügen kann...

Ich habe eigentlich schon lange vor auf LINUX umzusteigen ... aber es gibt leider immer noch keine LINUX-Version, von dem einzigen Programm was ich für absolut notwendig halte.

Danke,
brainstuff
Zuletzt geändert von brainstuff2 am Sa 8. Aug 2020, 17:27, insgesamt 1-mal geändert.

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Dateiname in speichern unter kopieren

Beitrag von craig » Sa 8. Aug 2020, 17:25

Hallo brainstuff,

mit Mac's kenne ich mich zwar nicht aus, gefunden habe ich dies:
https://www.macworld.co.uk/how-to/mac/c ... c-3688537/

Also nicht [Ctrl]+[...], sondern [Command]+[...]
Ideal wäre es wenn die Vorlage, beim ersten abspeichern automatisch unter dem Namen, der in einer Zelle steht abgespeichert würde.
Das ließe sich über dieses Makro erledigen.
Bitte beachte die Kommentare im Code, denn ich weiß z.B. nicht, ob auf einem Mac
die URL/ Pfadangabe so genutzt werden kann.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub xSaveAs
Dim oDoc as Object
Dim oSheet1 as Object
Dim oCell1 as Object
Dim dummy() as Variant ' leeres Array. Wird benötigt, da beim Speichern keine Dateifilter übergeben werden.
Dim sUrl as String

	oDoc=ThisComponent
REM --------------------------------------------------------------
REM Index ggf. anpassen
		' Erstes Tabellenblatt im Dokument: Index = 0
		oSheet1=oDoc.getSheets.getbyIndex(0)

REM NAME ggf. anpassen
		' ODER so:
			'oSheet1=oDoc.getSheets.getbyName("Tabelle1")

REM Zelladresse ggf. anpassen
			oCell1=oSheet1.getCellRangeByName("A1")

REM Ich Weiß nicht was ein Mac für eine URL/ Pfandangabe erwartet,
REM deshalb sind u.U. auch hier Anpassungen erforderlich:
			' Url und String aus Zelle A1 zusammenbauen
			' Das erste - %20 - steht für ein Leerzeichen
			sUrl="file:///C:/temp%202020/" & oCell1.String
			
				' Speichern als:
			   oDoc.storeasurl(sUrl,dummy())

End Sub
Speichere das Makro in Deiner Vorlage und binde es an ein Dokument-Ereignis (z.B. Dokument öffnen).
Wenn Du nun die Vorlage öffnest, dann wird dass Dokument automatisch gespeichert.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

brainstuff2
Beiträge: 140
Registriert: Do 9. Jul 2020, 12:25

Re: Dateiname in speichern unter kopieren

Beitrag von brainstuff2 » Sa 8. Aug 2020, 17:53

Craig,

Das was Du da gefunden hast habe ich versucht. Das funktionniert normalerweise so mit dem Einfügen, aber bei meinem Libre Office geht das nicht. (In Windows geht das, aber auf dem blöden MAC geht das nicht).

Auf Windows läuft das, da ist dann Dein MACRO eine Tolle Lösung. Ich versuche das auch auf dem MAC, aber ich nehme an, dass das da nicht läuft, weil das mit dem einfügen nicht klappt. Zudem ist es noch so, dass das Datei-Pfad System vom MAC nicht so ist, wie bei Windows.

Ich habe schon seit längerer Zeit vor, mich endlich einmal mit den verschiedenen Daten-Pfad-Systemen von Windows, Linux und MAC zu befassen, weil das die Hauptursache dafür ist, dass die Daten von Programmen, die auf Dateien zugreifen müssen, nicht von einem Betriebssystem auf ein anderes übernommen werden können.

Sogar Freunde von mir, die Programme geschrieben haben, die auf mehreren Betriebssystemen laufen, haben immer wieder Schwierigkeiten, mit der Incompatibilität der Datei-Pfade.

Danke,
brainstuff

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Dateiname in speichern unter kopieren

Beitrag von craig » Sa 8. Aug 2020, 18:52

Hallo brainstuff,
brainstuff hat geschrieben:Das was Du da gefunden hast habe ich versucht. Das funktionniert normalerweise so mit dem Einfügen, aber bei meinem Libre Office geht das nicht. (In Windows geht das, aber auf dem blöden MAC geht das nicht).
Da stellen sich mir diese Fragen:
  1. Hast Du eine MAC-Tastatur-Layout?
  2. Hast Du LibreOffice für MAC-OS installiert?
https://wiki.documentfoundation.org/UserProfile/de#macOS hat geschrieben: macOS

~/Library/Application Support/LibreOffice/4/user (LibreOffice 4 bis 7)
Diese "Mac URL" auf der Benutzerprofil-Seite sieht für mich wie eine reguläre URL aus.
Allerdings weiß ich nicht was die Tilde (~/) zu bedeuten hat.

Sobald ein LibreOffice-Dokument gespeichert wurde, verfügt dieses immer über die Eigenschaft:

Code: Alles auswählen

ThisCommponent.Url
Wurde ein Dokument noch nie gespeichert, dann ist die Eigenschaft URL = LEER = ""

Die Übergabe einer URL eines bereits gespeicherten Dokuments in eine String-Variable erfolgt dann so:

Code: Alles auswählen

dim sUrl as String
sUrl=ThisCommponent.Url

Eine Url ist nicht zuverwechseln mit einer Windows-Pfadangabe:
  • URL = "file:///C:/temp/"
  • Windows-Pfad= "C:\Temp\"
Dannenhöfer: URL in Pfad wandeln und umgekehrt...

Die URL arbeitet immer mit Slashes (/). Dies ist unter MAC, als auch LINUX gebräuchlich.
Nur Windows arbeitet mit Backslashes (\).

Daraus ergibt sich eigentlich, dass nur Windows der Sonderfall ist:
  • LibreOffice = Slash
  • MAC = Slash
  • Linux = Slash
Ob es nun einen weiteren Unterschied zwischen Linux und MAC gibt, weiß ich nicht.
brainstuff hat geschrieben: Sogar Freunde von mir, die Programme geschrieben haben, die auf mehreren Betriebssystemen laufen, haben immer wieder Schwierigkeiten, mit der Incompatibilität der Datei-Pfade.
Das ist eines der leichtesten Übungen.
Einfach nachstehendes Makro ausführen und man erhält Informationen zum jeweiligen Betriebssytem (u.a.).
Danach die Pfade/ URL passend zum OS ermitteln.

Code: Alles auswählen

REM  *****  BASIC  *****
REM Quelle des Makros:
REM 		Autor: komma4
REM 		http://oooforum.de/viewtopic.php?t=10918
Sub GUI_Test
' Operating System
' Betriebssystem anhand des verwendeten Fenster-Managers ermitteln

l_OS_Index = GetGUIType()

Select Case l_OS_Index
	Case 1
		s_OS = "Windows"
		s_rechnername = Environ("COMPUTERNAME")
		s_benutzername = Environ("USERNAME")
		s_benutzerdomain = Environ("USERDOMAIN")

	Case 3
		s_OS = "MacOS"
	
	Case 4
		s_OS = "Linux"
		
		' die folgenden Abfragen funktionieren hier auf SuSE 9.3
		
		's_benutzerhome = Environ("HOME")
 		'msgbox s_benutzerhome
 		's_hostname = Environ("HOSTNAME")
		'msgbox s_hostname
 		's_hosttype = Environ("HOSTTYPE")
		'msgbox s_hosttype
 		's_AnmeldeName = Environ("LOGNAME")
		'msgbox s_AnmeldeName
		's_MaschinenTyp = Environ("MACHTYPE")
		'msgbox s_MaschinenTyp	
		's_CPU = Environ("CPU")
		'msgbox s_CPU
		's_Lang = Environ("LANG")
		'msgbox s_Lang	
		's_Pfad = Environ("PATH")
		'msgbox s_Pfad	

	
	Case Else
	s_OS = "unbekannter Rückgabewert für Betriebssystem" 
End Select

msgbox "Diese OpenOffice.org läuft unter: " & s_OS ,, "OOo Makro: Betriebssystem ermitteln"


End Sub
Nachtrag:
Jeder Browser kann mit URL's umgehen. Das dürfte auch auf einem MAC funktionieren.
Eingeleitet wird die URL immer mit:
"file:///"

Für Windows z.B. so:
"file:///C:/temp/"

Für Linux:
"file:///usr/local/"

Für MAC probiere es, in dem Du einen Browser öffnest und in die Adresszeile eine
entsprechende URL eingibst, welche auf Deine Festplatte verweist.

Bis dann...
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Dateiname in speichern unter kopieren

Beitrag von Wanderer » So 9. Aug 2020, 00:47

Hallo,

einfach den lokalen Pfad, den Du hast durch ConverttoURL schicken.
https://help.libreoffice.org/6.2/en-US/ ... 20312.html

Dann brauchst Du dich um das Betriebssystem nicht mehr zu kümmern.

Mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten