Autor
|
Thema: VBA: Check out files (843 / mal gelesen)
|
larsu Mitglied

 Beiträge: 15 Registriert: 21.06.2004 SW 2020 SP5 EPDM 2020 SP4
|
erstellt am: 19. Mai. 2022 07:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich habe leider nur geringe Kenntnisse in VBA, aber für ein paar Zeilen Code hat es immer gereicht. Nun suche ich nach einer Lösung, wie ich Dateien, deren Pfad in einer Exceltabelle stehen, auschecken kann. Ich hatte es mir so vorgestellt. Ganz simpel ohne viele Schnickschnack. Code:
Dim counter As Integer Dim filename As String Dim problemfile() As String Dim errorcounter As Integer Dim i As Integer 'common counter ---------------------------- Sub main() '--> Here: Define vault "myvault" etc. ActiveSheet.Cells(1, 1).Select While ActiveCell.Value <> "" 'Repeat until empty cell is found filename = ActiveCell.Value On Error GoTo Error '--> Check out file (Lockfile...) On Error GoTo 0 ActiveCell.Offset(1, 0).Select counter = counter + 1 Wend MsgBox ("Processed " & counter & "files" & vbCrLf & errorcunter & " errors occured") ' Here I will do something with the list of problematic files Exit Sub Error: errorcounter = errorcounter + 1 problemfile(errorcounter) = filename Resume Next End Sub
Nun würde ich gerne die Lücken füllen, habe aber mit Funktionen außerhalb Excel keine Erfahrung. Welche Verweise müsste ich hierzu noch aktivieren? Vielleicht kann mir jemand bei den paar Zeilen helfen? Wäre super!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
riesi Mitglied CAD-Admin
   
 Beiträge: 1099 Registriert: 06.05.2002 SWX Office Pre. 2023-Sp5
|
erstellt am: 19. Mai. 2022 08:27 <-- editieren / zitieren --> Unities abgeben:          Nur für larsu
Als Verweis wird "PDMWorks Enterprise 2020 Type Library" benötigt. Code:
Sub test() Dim myVault As IEdmVault7 Set myVault = New EdmVault5 Call myVault.LoginAuto("{Name des Tresors}", 0) Dim oFile As IEdmFile5 Dim FileName As String FileName = "C:\{Tresor}\{Pfad zur Datei}\{Dateiname}" Dim oFolder As IEdmFolder5 Set oFile = myVault.GetFileFromPath(FileName, oFolder) If oFile Is Nothing Or oFolder Is Nothing Then Exit Sub End If Call oFile.LockFile(oFolder.ID, 0) End Sub
[Diese Nachricht wurde von riesi am 19. Mai. 2022 editiert.] [Diese Nachricht wurde von riesi am 20. Mai. 2022 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
larsu Mitglied

 Beiträge: 15 Registriert: 21.06.2004 SW 2020 SP5 EPDM 2020 SP4
|
erstellt am: 07. Jun. 2022 09:45 <-- editieren / zitieren --> Unities abgeben:         
Super! Vielen Dank, das hat geklappt! Ich habe meine endgültige Datei mal mit hochgeladen, für alle, die auch eine Lösung suchen. Ich bin Programmieranfänger, also bitte nicht schimpfen, wenn etwas nicht den Regeln entspricht.  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |