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:

Code: Alles auswählen

mySheet = myDoc.sheets(0)
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