Seite 1 von 2
Dateiname aus Zelle(n) erzeugen
Verfasst: Sa, 20.01.2007 19:33
von Kelly-Propelly
Ist mein erster Beitrag, deshalb erstmal ein Hallo an alle.
Meine Frage: Gibt es eine Möglichkeit, aus einer oder mehreren Zellen automatisch den Dateinamen zu generieren, wenn ich auf speichern klicke.
Beispiel: Zelle A1 enthält einen Namen, Zelle C8 enthält einen Ort. Bei Klick auf Speichern entsteht eine Datei namens Name_Ort.ods
Falls es schon einen Thread zu diesem Thema gibt, habe ich ihn nicht gefunden. Viele Grüße und danke...
Verfasst: Sa, 20.01.2007 21:42
von Karolus
Hallo
Schau dir dir mal dies an, dürftest du dir auf deine Wünsche anpassen können.
http://www.ooo-portal.de/index.php?modu ... topic=3155
Bei Problemen frag noch mal nach.
Gruß Karo
Verfasst: Sa, 20.01.2007 23:32
von Kelly-Propelly
Danke für die extrem schnelle Antwort, Karo. Ich kann dank Deiner Hilfe jetzt Dateien mit dem Namen eines Feldes erzeugen. Ich bekomm's aber nicht hin, dass Calc den Inhalt von zwei Feldern kombiniert. Also A1_C3.ods
Bin leider der totale Nullblicker, wenn's um Programmier- oder Skriptsprachen aller Art geht. Wäre für weitere Hilfe natürlich dankbar, versuch jetzt aber auch einfach weiter dran zu knobeln.
Verfasst: So, 21.01.2007 09:08
von euroandi
Hallo,
zum Verbinden von mehreren Zellinhalten einfach in eine andere Zelle folgende Formel schreiben.
=A1&"_"&C3&".ods"
Immer wichtig: &
Zellinhalt: z.B von A1 und C3
Alles was nicht in den Zellen steht mit: " am Anfang und Schluß
Gruß Andreas
Verfasst: So, 21.01.2007 11:08
von Karolus
Hallo
Ist doch im Prinzip nur eine Zeile in der du C8 als Variable definierst .
Am Stück:
Code: Alles auswählen
Sub speichern_unter_A1_und_C8
dim dummy()
myDoc = thisComponent
mySheet = myDoc.sheets(0) '1. Tabellenblatt
namenszelle = mysheet.getCellRangeByName("A1")
ortszelle = mysheet.getCellRangeByName("C8")
'Lesen der Werte
Dateiname= namenszelle.string &"_" & ortszelle.string
dateipfad="dein/Verzeichniss/Pfad/"& Dateiname &".ods"
'dein Pfad muss ^^^^^^^^^^^^^^^ dort innerhalb der "-Anführungszeichen stehen !
dateiurl=converttourl(dateipfad)
mydoc.storeasurl(dateiurl,dummy())
rem oder
rem mydoc.storetourl(dateiurl,dummy())
End Sub
In der Zeile: 'dateipfad.... ' musst du noch deinen Verzeichnisspfad eintragen.
Zum Speichern verknüpsft du am besten dieses Makro mit einer Schaltfläche im Dokument.
Eine Anleitung findest du hier:
http://www.ooowiki.de/MakrosMitEinemKlick
Gruß Karo
Verfasst: So, 21.01.2007 20:22
von Kelly-Propelly
Danke an Euch beide. Es funktioniert mit beiden Methoden. Habe nur noch das Problem, das er mir jetzt beim Starten des Dokuments einen Laufzeitfehler in folgender Zeile bringt:
Danke schon mal für die schnelle und gezielte Hilfe. Ihr habt echt Tage des verzweifelten Ausprobierens beendet.
Verfasst: Fr, 26.01.2007 07:23
von gripslund
Ist "myDoc" schon zugewiesen? Sind alle verwendeten Variablen (korrekt) deklariert?
gripslund
Verfasst: Fr, 26.01.2007 14:36
von Kelly-Propelly
Das ist der Code des Makros:
Code: Alles auswählen
Sub Speichern_als_Zellname
dim dummy()
myDoc=thisComponent
mySheet=myDoc.sheets(0)
myCell=mySheet.getCellByPosition(3,0)
myString=myCell.string
datei="D:/Rechnungen/"& myString &".ods"
dateiurl=converttourl(datei)
odoc=thisComponent
odoc.storeasurl(dateiurl,dummy())
rem oder
rem odoc.storetourl(dateiurl,dummy())
Das Makro läuft in einer Dokumentenvorlage und ist dem Ereignis ""Geändert"-Status wurde geändert" zugewiesen.
Funktioniert einwandfrei, ich muss aber jedesmal den Debugger wegklicken, wenn ich das Dokument starte.
Ach ja, ich benutze Openoffice 2.1.
Vielen Dank für Eure Hilfe!
Re: Dateiname aus Zelle(n) erzeugen
Verfasst: Mo, 17.01.2011 13:57
von Mani
Hallo
Ich habe OO3 mit win XP und 7 bei mir funktioniert leider keiner der Makros die ihr Gepostet habt.
Ich hätte noch eine Anforderung ans Makro ich möchte immer einen einen fixen Text dazufügen
z.b. "A1"_text.ods
Lg Mani
Moderation,4: es reicht, wenn Du hier in diesem Thread nachfragst. Deshalb habe ich Dein anderes Posting gelöscht. Die Antwort von Karolus hätte ich Dir auch gegeben. Also bitte: Deinen Lösungsversuch hier posten und die Fehler(-meldungen) beisteuern; Danke
Re: Dateiname aus zelle erstellen
Verfasst: Mi, 19.01.2011 16:40
von Karolus
Hallo
Grundsätzlich funktioniert das, wenn du aber lediglich die Information "es geht nicht" lieferst, kann dir keiner helfen.
Karo
Re: Dateiname aus Zelle(n) erzeugen
Verfasst: Do, 20.01.2011 14:56
von Mani
Leider sind diese Makros für mich zu kompliziert das ich sie für meine Zwecke adaptieren kann,
ich bin erst Anfänger in Sachen Programmieren.
Lg Mani
Re: Dateiname aus Zelle(n) erzeugen
Verfasst: Fr, 26.02.2016 14:13
von Karolus
Hallo
mglw. gibts da ein Problem mit den :Doppelpunkten im Dateinamen, stell mal die Formatierung der Zelle G72 um, zb. auf einen Zeit-format-code HH"_"MM"_"SS
Karolus
Re: Dateiname aus Zelle(n) erzeugen
Verfasst: Do, 03.03.2016 22:04
von Karolus
Hallo
Was jetzt,vor einer knappen Woche war alles gut, und jetzt plötzlich Win10 und "geht nicht"
Meine Glaskugel ist noch zur Erholungskur auf Madeira!
Re: Dateiname aus Zelle(n) erzeugen
Verfasst: Fr, 04.03.2016 08:48
von Stephan
Wenn ich das MAkro nun starte liest es anscheinend die Zellen nicht mehr aus und es speichert unter "__" also einfach die beiden Unterstriche die zwischen name _Datum_Uhrzeit stehen .
Hat Win 10 wieder andere Dateinamenskonventionen ?!?
Was soll es denn mit einer Dateinamenskonvention zu tun haben wenn nichts gelesen wird?
Sorry, nur das sind Deine Worte und da aus Deinen Gesamtausführungen (für mich) keine Fehlerursache ersichtlich ist, scheint mir diese Frage deshalb sinnvoll weil Du Dir ja etwas bei der Aussage gedacht haben musst und wenn wir wüssten was führt das vielleicht zu einer Lösung.
Ansonsten versuche ich mich einmal im Raten:
der Fehler ist das das Tabellenblatt mit dem Index 0 ein Anderes ist als vorher (z.B. weil ein neues Blatt in die Datei eingefügt wurde) und auf dem jetzt aktuellen Tabellenblatt mit Index 0 die betreffenden Zellen leer sind.
Gruß
Stephan
Re: Dateiname aus Zelle(n) erzeugen
Verfasst: Fr, 04.03.2016 09:47
von Stephan
genau das ....
Und was ist "das"?
Das MAkro speichert zwar im richtigen Pfad .... jedoch ohne Name Datum und Uhrzeit .... nur die beiden Trenn-Unterstriche sind da als Dateiname
das hattest Du bereits geschrieben
Wenn Du keine weiteren Informationen hast kann Dir niemand helfen, das Makro ansich ist einwandfrei und da alles darauf hindeutet das aus den Zellen keine Werte gelesen werden können hatte ich auch bereits eine Mutmaßung geäußert was dafür die Ursache sein kann.
Gruß
Stephan