Seite 1 von 1
erster Absatz als Dateiname
Verfasst: Do, 12.08.2010 12:50
von clag
Hallo Kenner und Könner,
ich möchte eine Datei die einer Vorlage entstammt unter einem Namen speichern der dem ersten Absatz dieser Datei entspricht
also erstes Zeichen bis zum ersten CR
Zurzeit mach ich da mit "markieren > copy > ctrl+s > paste > enter"
und dann wird diese Datei per Makro geschlossen und es wird erneut diese Vorlage geladen
wie müsste der Basic Code dazu aussehen
ersten Absatz kopieren = Name
Datei speichern unter
"Pfad + Name einfügen"
speichern
das könnte ich dann in das vorhandene Makro einbauen und mir das manuelle speichern unter sparen
(genial wäre wenn man in der Vorlage noch einen unsichtbaren Text platzieren/verstecken könnte der den Pfad vorgibt
diesen Wunsch kann ich aber vielleicht selber aus der Antwort zur ersten Frage ableiten)
und schmal danke vorweg für .......
Re: erster Absatz als Dateiname
Verfasst: Do, 12.08.2010 14:34
von clag
Hallo
habe mir jetzt das hier
Code: Alles auswählen
sub SaveAsAbsatz1
Doc = thisComponent
Enum = Doc.Text.createEnumeration
Enum = Doc.Text.createEnumeration
TextElement = Enum.nextElement
dim dummy()
datei="H:\MeinTest\OOo\" & TextElement.string
dateiurl=converttourl(datei)
odoc=thisComponent
odoc.storeasurl(dateiurl,dummy())
end sub
zusammengeklaubt
funktioniert auch schon im groben
allerdings bekommt die Datei noch keine Dateierweiterung
und wenn das letzte Zeichen der "dateiurl" ein Leerzeichen ist gibt es Mecker und wird nix gespeichert
wo muss ich da noch was ändern damit das richtig funktioniert?
für sachdienliche Hinweise und Antworten ist ein Belohnung in Höhe von 3xDanke ausgelobt

Re: erster Absatz als Dateiname
Verfasst: Do, 12.08.2010 17:13
von komma4
clag hat geschrieben:allerdings bekommt die Datei noch keine Dateierweiterung
Dann vergib' sie halt selbst.
Du bestimmst per Code den Dateinamen... ergänze die Dateierweiterung (weil Windows es halt braucht;

)
clag hat geschrieben:und wenn das letzte Zeichen der "dateiurl" ein Leerzeichen ist gibt es Mecker und wird nix gespeichert
Entferne eventl. vorhanden Leerzeichen mit
RTRIM
clag hat geschrieben:für sachdienliche Hinweise und Antworten ist ein Belohnung in Höhe von 3xDanke ausgelobt

Geschenkt

Re: erster Absatz als Dateiname
Verfasst: Do, 12.08.2010 18:19
von clag
Hallo,
na denn eben nur 1xDanke
funktioniert bis jetzt so wie gedacht, nur ein kleines Problem gibt es noch
befinden sich in dem Text
\ oder
/ generiert das Makro ab da Unterverzeichnisse
das muss ich noch irgendwie im Makro verhindern per Meldung oder Wandeln in - oder ~ oder auch nur entfernen...
kann man im Makro auf einen String so etwas wie Calc's ERSETZEN() ansetzen ?
Re: erster Absatz als Dateiname
Verfasst: Fr, 13.08.2010 10:18
von clag
Hallo allseits
mein Makro beglückt mich schon wieder seit geraumer Zeit mit Fehlermeldungen
ich bekomme keine Zeile zustande die RTrim ausführt, außer DingDong für Fehler ernte ich hier wieder nix
wie muss das richtig aussehen, um zB die Variable "myText" von Leerzeichen zu befreien ?
RTRIM(str)
Returns the string str with trailing space characters removed.
mysql> SELECT RTRIM('barbar ');
-> 'barbar'
This function is multi-byte safe.
REPLACE(str,from_str,to_str)
Returns the string str with all occurrences of the string from_str replaced by the string to_str. REPLACE() performs a case-sensitive match when searching for from_str.
mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
This function is multi-byte safe.
mit diesen beiden Beschreibungen komm ich nicht klar
da wäre ich für ein funktionierendes Beispiel wie immer sehr dankbar!
EDIT !
die letzte Frage hat sich erledigt, bin auf der Seite von Michael Dannenhöfer fündig geworden
Text02 = RTrim(Text01,)
es kann alles so schön einfach sein (wenn man erst einmal weiß wie es geht)