Hallo, ich habe in einem *.sxw einen zusätzlichen Ordner mit Dateien angelegt, alles ist ordnungsgemäß in manifest.xml eingetragen. Die *.sxw-Datei "funktioniert".
Gemäß des Beispiels: http://codesnippets.services.openoffice.org/Writer/Writer.ExtractGfx.sni p lese ich die Dateien aus dem zusätzlichen Ordner aus und kopiere sie in einen lokalen Ordner der Festplatte. Hierzu verwende ich folgenden Code: Sub Extract_infixes() On Local Error Goto ErrorHandler Dim oDocument as Object Dim oZipArchive as Object Dim oDateien as Object Dim mZipFile(0) as Variant Dim mFiles() as String Dim oFileAccess as Object Dim oFile as Object Dim oInputStream as Object Dim oOutputStream as Object Dim mData() as Variant Dim sDestFolder as String Dim inhalt as String Dim n as Long Dim f as Long Dim j as Integer oDocument = StarDesktop.getCurrentComponent sDestfolder = "file:///D:/infixes/" oZipArchive = createUnoService("com.sun.star.packages.Package") mZipFile(0) = oDocument.URL oZipArchive.initialize(mZipFile()) oDateien = oZipArchive.getByHierarchicalName("infixes") mFiles() = oDateien.getElementNames For j = 0 to uBound(mFiles()) oFileAccess = createUnoService("com.sun.star.ucb.SimpleFileAccess") oFile = oFileAccess.openFileWrite(sDestFolder & mFiles(j)) oOutputStream = createUnoService("com.sun.star.io.DataOutputStream") oOutputStream.setOutputStream(oFile) oInputStream = oDateien.getByName(mFiles(j)).getInputStream() n = -1 f = 0 While n <> 0 '(**) n = oInputStream.readBytes(mData(), 65536) oOutputStream.writeBytes(mData()) '(*) f = f + 64 msgbox f & "kB Daten gelesen." Wend oOutputStream.flush() oOutputStream.closeOutput() oInputStream.closeInput() Next j Exit Sub ErrorHandler: MsgBox "Fehler aufgetreten" End Sub (Hinweis: der Code funktioniert) Fragen: Wie ermittle ich die Größe der zu kopierenden Dateien *vor* dem eigentlichen Kopieren, damit ich bei (*) (siehe Code) eine Fortschrittsanzeige ansteuern kann? Wie ist die Zeile nach (**) zu bewerten? Sind 64 KB Blockgröße kritisch oder ungeschickt, kann ich das Lesen/Schreiben irgendwie beschleunigen? Gruß Jörg --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
