Kopieren Sie ein Dokument aus EPDM und fügen Sie es über VBA auf einer lokalen Festplatte ein

Hallo

Ich wünschte, ich könnte eine Datei aus PDM kopieren und auf eine lokale Festplatte außerhalb von PDM einfügen .

Im Anhang befindet sich der VBA-Codeausschnitt, den ich angefangen habe, aber er funktioniert nicht. (siehe Fehlermeldung).

Ist das machbar? Hat jemand eine Ahnung von dem Problem?

Vielen Dank.


code_vba.png

Im Anhang befindet sich die Fehlermeldung

Vielen Dank


message_erreur.png

Hallo

GetFileCopy wird nur verwendet, um eine Datei lokal im Tresor zurückzugeben (entspricht dem Abrufen der Version).

Sie müssen die CopyFile-Methode verwenden.

1 „Gefällt mir“

Danke, in der Tat...

Auf der anderen Seite bin ich kein Experte für VBA und kann die CopyFile-Methode nicht verwenden.

siehe Anhang 


copyfile.png

Der einfachste Weg ist ein einfaches Kopieren/Einfügen von Fenstern.

Dim Vault As New EdmVault5
Dim folder As IEdmFolder5
Dim file As IEdmFile5
Dim destfolder As String

Vault.LoginAuto "BllueBus", 0

Set file = vault.GetFileFromPath("D:\BE_Produit_01\Fichiers pour export\Donnnées Publiées\PDF\U100023AA-R01.pdf")

destfoler = "C:\Temp\"

FileCopy "D:\BE_Produit_01\Fichiers pour export\Donnnées Publiées\PDF\U100023AA-R01.pdf", "C:\Temp\U100023AA-R01.pdf"

Alles, was Sie tun müssen, ist, Variablen zu setzen, um verschiedene Dateien zu verwalten, und die GetFile-Methode zu verwenden, um die Datei lokal abzurufen, bevor Sie die Kopie erstellen.

1 „Gefällt mir“

Nachfolgend finden Sie einen funktionalen Code.

Sub CopyFile()

Dim Vault As EdmVault5
Dim folder As IEdmFolder5
Dim file As IEdmFile5
Dim destfolder As String


Set Vault = New EdmVault5
Vault.LoginAuto "BlueBus", 0

Set folder = Vault.GetFolderFromPath("D:\BE_Produit_01\Fichiers pour export\Donnnées Publiées\PDF\")
Set file = folder.GetFile("U100023AA-R01.pdf")

file.GetFileCopy 0, "", 0

destfolder = "C:\PDF\"

FileCopy file.GetLocalPath(folder.ID), destfolder & file.Name

End Sub

 

3 „Gefällt mir“

Danke Cyril.f!

Es funktioniert!