Dokument speichern --> FTP

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

Moderator: Moderatoren

empy
Beiträge: 7
Registriert: Di, 23.03.2004 10:51
Wohnort: Regensburg
Kontaktdaten:

Dokument speichern --> FTP

Beitrag von empy »

Hallo Leute,

ich probiere schon den ganzen morgen
ein Dokument auf meinem ftp-server zu speichern
über ein Macro.

Das lokale speichern war nicht das Problem

Code: Alles auswählen

 
Sub StoreFile_FTP ()
	Dim mFileProperties(0) As New com.sun.star.beans.PropertyValue
	Dim oUcb As Object
	Dim oOfficeDokument As Object 
	Dim cfilePath As String
	
	oOfficeDokument = ThisComponent	
	
	mFileProperties(0).Name = "Overwrite"
	mFileProperties(0).Value = true
	
	cfilePath = "ftp://nobody:pass@localhost/" & oOfficeDokument.DocumentInfo.Title & ".sxw"

    oOfficeDokument.storeAsUrl( filePath , mFileProperties() )

End Sub
Wie ihr seht habe ich im code einfach die locale URL in die FTP-Url
umgetauscht ...
den Titel des Dokumentes nutze ich als Dateiname,
aber leider leider ist das ganze nicht so einfach.

Ich habe rausgefunden, dass man dafür den UCB (universal content broker) braucht.

Jetzt die Frage: Kennt sich jemand von Euch damit aus?

Ich kann mit den Erklärungen im DevelopersGuide leider absolut nichts anfangen :-( ... um Java in Basic umzuschreiben bin ich wohl zu doof *g
Link zum DevGuide: http://api.openoffice.org/docs/Develope ... CB/UCB.htm

Das ist alles was ich bisher ohne Fehlermeldung zustande bekommen habe.
Wie gesagt ich will eine Datei auf den FTP-Server laden,
brauche dazu eine instanz des UCB damit ich an irgendwelche
Unterservices des UCB dann Befehle zum "Upload" dieser Datei
übergeben kann ... zumindest so in der Art.

Code: Alles auswählen

	UcB = createUnoService("com.sun.star.ucb.UniversalContentBroker")
Irgendwer nen Ansatz? :?

Danke

MP

Code: Alles auswählen

Sub Initial (cFname)
   cInitial = GetInitial(cFname)
   oDoc = ThisComponent
   oSig = oDoc.createInstance("com.sun.star.Signatur")
   oSig.insertTxt("" & cInitial & " = " & cFname & "")
End Sub
d. h. MP = Markus Plessing
empy
Beiträge: 7
Registriert: Di, 23.03.2004 10:51
Wohnort: Regensburg
Kontaktdaten:

Beitrag von empy »

Ok, ich habe zu schnell versucht was anderes zu machen *g

Dabei war ich einfach nur zu dumm etwas auf die Reihe zu bringen
heute ... ich hatte vergessen dem FTP-User schreibrechte für das
Verzeichnis zu geben ... Schön blöd, was?

Naja ... das heißt folgender Code funktioniert wunderbar für alle
möglichen Urls ... also egal ob: - file://, http://, ftp:// etc.

Code: Alles auswählen

Sub StoreFile_FTP ()
   Dim mFileProperties(0) As New com.sun.star.beans.PropertyValue
   Dim oUcb As Object
   Dim oOfficeDokument As Object
   Dim cfilePath As String
   
   oOfficeDokument = ThisComponent   
   
   mFileProperties(0).Name = "Overwrite"
   mFileProperties(0).Value = true
   
   cfilePath = "ftp://nobody:pass@localhost/" & oOfficeDokument.DocumentInfo.Title & ".sxw"

    oOfficeDokument.storeAsUrl( filePath , mFileProperties() )

End Sub
Nur nicht vergessen die Schreibrechte (Unix) zu setzen !!

MP

Code: Alles auswählen

Sub Initial (cFname)
   cInitial = GetInitial(cFname)
   oDoc = ThisComponent
   oSig = oDoc.createInstance("com.sun.star.Signatur")
   oSig.insertTxt("" & cInitial & " = " & cFname & "")
End Sub
d. h. MP = Markus Plessing
Antworten