[gelöst] Fehler beim Speichern per Makro

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

Moderator: Moderatoren

Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

[gelöst] Fehler beim Speichern per Makro

Beitrag von sven-my »

Hallo Experten,

mein Makro soll mir die Überlegung abnehmen, unter welchen Namen ich ein Writer-Doku speichere.
Dabei wird an den Speichernamen, der im Adressbuch eingetragen ist, eine laufende Nummer angehängt.

Auf der Festplatte klappt das auch ohne Probleme, als ich aber ein angepaßtes Makro auf dem USB-Stick einsetzen wollte, bekam ich folgende Fehlermeldung beim "Docu.storeAsURL(URL ,Dummy())":

===========================================
Basic - Laufzeitfehler
Es ist eine Exeption aufgetreten
Type: com.sun.star.task.ErrorCodeIOExeption
Message:.
===========================================

Was muß ich ändern ?
Bitte so antworten, daß auch ein Programmier-Depp es versteht.
Bitte auch keine Verweise auf englische Seiten --- meine paar Brocken helfen mir nicht weiter.

gruß
sven-my
win98SE / OpenOffice 2.31 / OpenOffice 2.4 portable


Code: Alles auswählen

sub Speichern

rem ----------------------------------------------------------------------
rem define variables
.
.
.
rem ----------------------------------------------------------------------
rem Werte zuweisen
.
.
.
Docu = ThisComponent
Plattenort = "C:\Eigene Dateien\OpenOffice\writer\"    'für die Festplatte
Plattenort = "\Documents\OpenOffice\writer\"            'für den USB-Stick
Speicherort = Plattenort + Dateiname + ".odt"
rem ----------------------------------------------------------------------
rem Kontrolle, ob Datei vorhanden
.
.
.
rem ----------------------------------------------------------------------
rem Speichervorgang

if myText <> "" then
	URL = ConvertToUrl(Speicherort)
	Docu.storeAsURL(URL ,Dummy())
else
	odoc = thiscomponent
	check = odoc.haslocation()
		if check then
			Docu.store()
		else 
			URL = ConvertToUrl(Plattenort + "Unbenannt" + " " + format(znumber, "##00")) + ".odt"
			Docu.storeAsURL(URL ,Dummy())                            'hier kommt Fehlermeldung
		end if
 	
end if

End Sub[/[/
Zuletzt geändert von sven-my am So, 24.08.2008 23:40, insgesamt 1-mal geändert.
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Fehler beim Speichern per Makro

Beitrag von komma4 »

die Angabe für "Plattenort" für den Stick ist nicht korrekt.

Da Du auf einem Windowssystem bist, müsste sie mit Laufwerksbuchstaben beginnen, irgendwas wie: "f:\Documents\OpenOffice\writer\"

Zur Kontrolle des Inhalts gebe vor der Zeile mit der Fehlermeldung (bis zur Behebung des Problems) den Inhalt aus:
msgbox URL
Dabei sollte so etwas wie file:///f:/Documents/OpenOffice/writer/Unbenannt03.odt heraus kommen
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)
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Fehler beim Speichern per Makro

Beitrag von sven-my »

Hallo komma4,

So etwas hatte ich mir ja schon gedacht, aber woher bekomme ich die Information welchen Lw-Buchstaben der Stick z.Z. hat ???
Ich hab' zwar ein Progrämmchen, daß das für mich macht, nur ist das noch etwas Handarbeit : Lw-Bst. vom Bildschirm ablesen, in eine *ini schreiben, die dann vom Makro ausgelesen werden kann.

Ich kam auf die Idee es ohne Lw-Buchstaben zu versuchen, weil mein Adress-PrG den Ablageort der Datenbank auch ohne Lw-Angabe findet, dort habe ich in den Optinen den Pfad ohne Lw-Bst. reingeschrieben.

Welche Möglichkeit gibt es denn herauszulesen, auf welchem Laufwerk sich OpenOffice befindet, --- so was wie eine "DriveLetterVariable" ?

gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Fehler beim Speichern per Makro

Beitrag von sven-my »

Hallo,

das war eben ein Schnellschuß --- zum *.ini auslesen brauche ich ja auch den Lw-Bst.

gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Fehler beim Speichern per Makro

Beitrag von komma4 »

Der Buchstabe wird ja regelm. der gleiche sein, also prüfe mit if FileExists( sPfad )
ob f:/Documents/OpenOffice/writer/ da ist, oder vielleicht g:/Documents/OpenOffice/writer/, usw.
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)
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Fehler beim Speichern per Makro

Beitrag von sven-my »

Hallo komma4,


habe es inzwischen so gelöst:

dim LW as string
lw = mid(CurDir,1,2)

Ich gehe davon aus, daß eben der Lw-Bst nicht regelmäßig der gleiche ist --- außer ich nutze OpenOffice nur an meinem Rechner, aber dort macht ein Stick nur in wenigen Fällen Sinn.

gruß
sven-my

P.S.: Habe vorhin, bevor ich hier meine Frage stellte auf http://www.dannenhoefer.de/faqstarbasic/ nach den falschen Stichworten gesucht.
Deine Antworten haben mir meinen Gedankenfehler klar gemacht.
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Antworten