Home > Community > Automation and VBA > Automatischer Datenimport mit VBA > Antwort auf: Automatischer Datenimport mit VBA

#14277
Anonym
Inaktiv

Ein Skript, das nur die nicht als Ordner existierenden Dateien in einen Zielordner importiert, könnte etwas so aussehen:

Sub ImportNonExistingFiles(oTargetFolder As Folder, strFilePath As String)
    Dim oFS As New Scripting.FileSystemObject
    Dim oFolder As Scripting.Folder
    Dim oFile As Scripting.File
    
    '   prepare import settings once
    With ImportSettings
        .CreateLinks = False
        .CreateFolder = True
    End With
    
    Set oFolder = oFS.GetFolder(strFilePath)
    
'    For j = 1 To UPanzahl
        For Each oFile In oFolder.Files ' Schleife über alle Dateien
            If UCase(oFS.GetExtensionName(oFile.Name)) = UCase("dat") Then
                'If InStrRev(oFile.Name, UPLabel(j)) > 0 Then
                    If oTargetFolder.ObjectExists(oFS.GetBaseName(oFile.Name), fpObjectTypeFolder) = False Then
                        Debug.Print "Importiere " & oFile.Path
                        oTargetFolder.Import oFile.Path, "NI DAGO/DIAdem Header-Dateien (*.dat)|*.dat"
                    End If
                'End If
            End If
        Next oFile
 '   Next j
End Sub

Die Herkunft der Variable UPAnzahl und UPLabel ist unklar, die entsprechenden Zeilen sind deshalb auskommentiert. Sie werden aber u. U. nicht benötigt. Der Aufruf könnte dann z. B. so aussehen:

ImportNonExistingFiles ActiveDatabase.RootFolder, ActiveDatabase.Path & "\Messdaten"

Bitte beachten Sie, dass Sie in VBA unter Extras/Verweise noch einen Verweis auf die “Microsoft Scripting Runtime” eintragen müssen, damit die Funktion ausgeführt werden kann.

Support
support@weisang.com