title image


Smiley Re: - die Fragen gehen mir in diesem Zusammenhang nicht aus:
Hallo Ulrich,



Du hast freilich ganz recht, mit oZip.AddFile ActiveDocument.FullName wird der Pfad zum Dok "mitverpackt", wenn Du nur den Dateinamen möchtest, hier die Änderung (sorry, der ursprünglliche Code war nur ein grobes Muster)



Option Explicit

' Benötigt ZIPLIB.DLL (Klassen) sowie ZIP32.DLL und UNZIP32.DLL (freie Infozip-Libraries)

' Die DLLs müssen entweder im Programmverzeichnis oder im Windows-Systemverzeichnis liegen

' Verweis zu ZIPLIB.DLL muss gesetzt werden



Sub SaveActiveDocumentAsZip()

Dim oZip As ZipLib.ZipFiles, tpath As String

Set oZip = New ZipLib.ZipFiles

If Len(ActiveDocument.path) = 0 Then MsgBox "Dokument nicht gespeichert": Exit Sub

If Not CreateTempFolder(tpath) Then MsgBox "Fehler bei CreateTempFolder": Exit Sub

oZip.ZipFileName = tpath & "\" & ActiveDocument.name & ".zip" ' Archivname

oZip.AddFile ActiveDocument.name ' zu packende Datei

oZip.RootDirectory = ActiveDocument.path

If 0 = oZip.MakeZipFile Then

MsgBox "Activedocument in " & oZip.ZipFileName & " gepackt"

Else

MsgBox "Fehler: " & oZip.GetLastMessage

End If

Set oZip = Nothing

End Sub



Private Function CreateTempFolder(fname As String) As Boolean

Dim tp As String, tn As String

With CreateObject("Scripting.FileSystemObject")

fname = .GetSpecialfolder(2) & "\" & .GetTempName()

On Error Resume Next

.CreateFolder fname

CreateTempFolder = Err = 0

On Error GoTo 0

End With

End Function



Der Code ist ZipLib.Dll ist recht unfangreich und kritisch (hatte es nicht merh in Erinnerung), deshalb ist es doch nicht günstig, das ganze Zeug direkt in VBA zu programmieren.

Kann Dir erst heute Abend/morgen früh mehr schreiben, da ich die Quellen zu Hause habe.

Wie sieht denn den die genaue Konfiguration bei Deiner Kollegin aus, wo es nicht funktioniert? Benutzerrechte, Office-Version, kommt die Fehlermeldung schon bei Kompilieren odererst zur Laufzeit?



Grüße

Wolfram

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: