Maximale Pfadlänge in Windows und VBA umgehen?

Hallo,

ich benutze folgenden Code in Excel VBA um mir Dateipfad und Dateiname eines Ordners und allen darin enthaltenen Unterordnern aufzulisten.
(Ihr könnt es testen, den Code einfach in ein Modul kopieren, "MainList" ausführen und einen Ordner eurer Wahl auswählen)

Ich habe jetzt das Problem, dass dieser Code alle Dateien überspringt, deren Pfadlänge über 255 Zeichen lang ist. Einige Dateien überschreiten nämlich die 255 Zeichen mit dem angehängten Dateinamen.
Sie liegen aber dennoch ab. Nur liest VBA diese nicht aus. Kann man da was dran machen?

Sub MainList()
'Updateby Extendoffice
Set Folder = Application.FileDialog(msoFileDialogFolderPicker)
If Folder.Show <> -1 Then Exit Sub
xDir = Folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub

Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
  Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Path
  Application.ActiveSheet.Cells(rowIndex, 2).Formula = xFile.Name
  rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
  For Each xSubFolder In xFolder.SubFolders
    ListFilesInFolder xSubFolder.Path, True
  Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub

Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
  Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
  GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
  GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function
Computer, Windows, Microsoft, Datei, Microsoft Excel, programmieren, VBA
SwiftUI Fehler lässt sich nicht finden, was ist falsch an meinem Code?

Also ich habe folgendes Problem:

Ich habe eine Liste mit den var's: ename, order, symbol und elne

Wenn ich folgenden Code eingebe funktioniert alles wunderbar:

*Siehe Bild, Code wegen Zeichenlänge nicht verfügbar.

Betroffene Zeilen: Zeile 30-39

Fehlermeldung:

The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions

Ich bin mir außerdem nicht sicher was diese Fehlermeldung bedeutet...

Und sobald ich ein paar Sachen in der List hinzufüge bekomme ich folgende Fehlermeldung:

Hier ist mein Code:

struct ChemieView: View{
    
    @State var showComposeMessageView: Bool = false
    @State private var searchText = ""
    
    private let elements = Elementis.Chemics
    
    
    var body: some View{
        NavigationView{
            
            List{
                
                ForEach(filteredElements) { elementis in
                    NavigationLink(elementis.ename, destination:
                                    List{
                        Text(elementis.ename)
                        HStack {
                            Text("Symbol:")
                            Text(elementis.symbol)
                        }
                        HStack {
                            Text("Ordnungszahl:")
                            Text(elementis.order)
                        }
                      HStack {
                         Text("Elektronegativitätswert:")
                        Text(elementis.elne)
                     }
                        HStack {
                            Text("Elektronegativitätswert:")
                            Text(elementis.amasse)
                            
                        }
                        
                        
                    }
                        .navigationTitle(Text(elementis.ename))
                    )
                    
                }
                
            }

Bild zum Beitrag
Apple, Computer, programmieren, Swift, Technologie, SwiftUI

Meistgelesene Beiträge zum Thema Programmieren