Writer: Dateinamen aus Zelle erzeugen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

fuhlbru
Beiträge: 6
Registriert: Sa, 03.09.2011 13:16

Writer: Dateinamen aus Zelle erzeugen

Beitrag von fuhlbru »

Hallo, bin neu hier und hab ein Problem mit einem Textblatt.
Ich habe in dem Textblatt 3 Tabellen erzeugt und möchte aus
der ersten Tabelle Zelle A1 den Dateinamen per Macro erzeugen
und speichern. Ich bekomme beim ausführen des Macros
eine Basic Laufzeitfehler in Zeile 5,
den ich nicht erklären kann.
Vielleicht kann mir ja jemand helfen.
Der Code ist angehängt.....

Code: Alles auswählen

Sub Speichern_als_Zellname
dim dummy()
 oDoc = thisComponent
  sTabName = "Tabelle1, 0"
  JumpToSheetsName(oDoc, sTabName)
datei="C:/Users/BeFu/Documents/RG/"& myString &".ods"
dateiurl=converttourl(datei)
odoc=thisComponent
odoc.storeasurl(dateiurl,dummy())
rem oder
rem odoc.storetourl(dateiurl,dummy())
End Sub


Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst; CODE tags gesetzt
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Dateinamen aus Zelle erzeugen

Beitrag von komma4 »

Willkommen im Forum
fuhlbru hat geschrieben:eine Basic Laufzeitfehler in Zeile 5,
den ich nicht erklären kann.
Zeile 5

Code: Alles auswählen

  JumpToSheetsName(oDoc, sTabName)
Wo ist diese benutzerdefinierte Funktion?
Und für was soll sie gut sein?
Du kannst einen Zellinhalt ermitteln, auch ohne auf das Tabellenblatt zu wechseln.


Im Weiteren:

wo ist die Belegung der Variablen myString?

Warum dimensionierst Du dummy(), wenn die Angabe eines leeren Arrays in der Form Array() ausreichen würde?
Warum Du diese Frage im WRITER-Unterforum gepostet hast... frage ich besser nicht 8)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
fuhlbru
Beiträge: 6
Registriert: Sa, 03.09.2011 13:16

Re: Calc: Dateinamen aus Zelle erzeugen

Beitrag von fuhlbru »

Hallo Winfried, ich habe den Code aus einer OO Platform
geladen., da es mein Problem lösen sollte.
Im Writer habe ich das Problem geposted, weil mit
die Forumsgewonheiten nicht geläufig sind, ich aber das
Dokument im Writer erstellt habe.
Vielleicht hast du ja eine Idee mir trotzdem
weiterzuhelfen.



Moderation,4: Betreff angepasst
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Calc: Dateinamen aus Zelle erzeugen

Beitrag von F3K Total »

Hallo fuhlbru
fuhlbru hat geschrieben:ich aber das Dokument im Writer erstellt habe.
... und warum willst Du es dann als Calc-Datei speichern?
fuhlbru hat geschrieben:datei="C:/Users/BeFu/Documents/RG/"& myString &".ods"
???
versuch es mal hiermit:

Code: Alles auswählen

Sub Speichern_als_Zellname

oDoc = thisComponent
rem Zugriff auf Tabelle1
otable=oDoc.Texttables.Tabelle1
rem Zugriff auf Zelle A1
ocell=otable.getCellbyName("A1")
rem alternativ geht auch diese Methode:
rem ocell =otable.getCellbyposition(0,0)
rem Zellinhalt auslesen
oString = ocell.String
rem in den Pfad einbauen
datei = "C:/Users/BeFu/Documents/RG/"& oString &".odt"
dateiurl = converttourl(datei)
rem speichern
rem odoc.storeAsurl(dateiurl,Array())'Ursprungsdatei wird umbenannt
odoc.storeTourl(dateiurl,Array())'Ursprungsdatei bleibt erhalten

End Sub
Gruß R
fuhlbru
Beiträge: 6
Registriert: Sa, 03.09.2011 13:16

Re: Writer: Dateinamen aus Zelle erzeugen

Beitrag von fuhlbru »

Hallo, habe deinen Code sofort ausprobiert,
danke für die schnelle Hilfe......
Habe aber trotzdem noch ein Problem damit.
Wenn ich das Macro im Einzelschritt durchlaufen lasse,
bekomme ich ander Stelle.....
datei = "C:/Users/BeFu/Documents/RG/" & oString &".odt"
die Meldung " Die Operaton auf datei = "C:/Users/BeFu/Documents/RG/" & oString &".odt"
wurde mit einem ungültigen Parameter gestartet.
Leider bin ich nicht in der Lage diese Problem zu
durchschauen, habe normalerweise mit Basic nichts zu tun.
Für weitere Unterstützung wäre ich daher dankbar....
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Writer: Dateinamen aus Zelle erzeugen

Beitrag von komma4 »

fuhlbru hat geschrieben:"Die Operaton auf datei = "C:/Users/BeFu/Documents/RG/" & oString &".odt"
wurde mit einem ungültigen Parameter gestartet.
Eine solche Meldung sollte an dieser Code-Stelle nicht vorkommen dürfen!
Es wird nämlich keine "Operation" (auf Dateiebene) ausgelöst, sondern "nur" eine Zeichenverkettung.


Was steht denn in der Zelle A1 Deiner ersten Tabelle?
Text? Mit Sonderzeichen? Zeilenumbruch o.ä.?



Der gepostete Code funktioniert hier einwandfrei
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
fuhlbru
Beiträge: 6
Registriert: Sa, 03.09.2011 13:16

Re: Writer: Dateinamen aus Zelle erzeugen

Beitrag von fuhlbru »

Habe in den Zellen A1 - C1 eigentlich nur Zahlen stehen,
Kd. Nr. / Rg. Nr. und Datum, komischerweise ist in diesen 3 Zelle jeweils am rechten Rand ein roter Pfeil
fuhlbru
Beiträge: 6
Registriert: Sa, 03.09.2011 13:16

Re: Writer: Dateinamen aus Zelle erzeugen

Beitrag von fuhlbru »

Habe das Problem mit den Pfeilen gelöst, war wohl noch Inhalt in der Zell aber nicht sichtbar,
konnte ich durch markieren und ausschneiden lösen.
Das Macro läuft im Einzelschritt jetzt durch aber wenn ich den Button drücke um das Macro
auzuführen bekomme ich folgende Mitteilung.....
Ein Skripting Framework Fehler trat während der Ausführung von Basic Script
vnd.sun.star.scipt:Standard.A1_Speichern.Main?
language=Basic&location=application auf.
Meldung: The following Basic script could not be found:
Library:'Standard'
module:'A1_Speichern'
method:'Main'
location:'application'
fuhlbru
Beiträge: 6
Registriert: Sa, 03.09.2011 13:16

Re: Writer: Dateinamen aus Zelle erzeugen

Beitrag von fuhlbru »

Hallo, habe das Problem selbst gelöst.
Lag an dem Menüpunkt für die Ausführung des Macros.
Habe den Menüpunkt gelöscht und neu angelegt.
Läuft jetzt alles einwandfrei.........
Vielen Danke für die Unterstützung !!!!!
Antworten