2017-01-12 12 views
-1

Это сводит нас с ума, это должно сработать!Странное поведение при прохождении через файлы

Когда бежал (Stepping)

Он перепрыгивает через Debug.Print (без ошибок),

Затем она попадает я + = 1

Никогда не останавливается на следующей (точки разрыва)

Но i = 51!

Любые Улики

If CheckBox8.Checked = False Then 
     Exit Function 
    Else 
     Dim fInfo As FileInfo() 
     Dim i As Integer = 0 
     Dim dInfo As DirectoryInfo = New DirectoryInfo(spath.ToString) 
     fInfo = dInfo.GetFiles("*.xml") 
     Dim sfiles As String() 
     Dim sFile As String 
     sfiles = Directory.GetFiles(spath, "*.xml") 
     For Each sFile In sfiles 
      Try 
       Debug.Print(sFile.ToString) 
       i += 1 
      Catch ex As Exception 
       Debug.Print(ex.Message) 
      End Try 

     Next 


    End If 
+0

это потому, что вы не строить его в * конфигурации DEBUG *? –

ответ

0

появляется этот код, чтобы работать правильно

Imports System.IO 

Module Module1 

    Sub Main() 
     Dim spath As String 
     spath = "C:\YOUR_DIRECTORY" 

     Dim fInfo As FileInfo() 
     Dim i As Integer = 0 
     Dim dInfo As DirectoryInfo = New DirectoryInfo(spath.ToString) 
     Try 
      fInfo = dInfo.GetFiles("*.xml") 
      For Each fi In dInfo.GetFiles("*.xml") 
       Dim file_name As String 
       file_name = fi.Name 
       Console.WriteLine(file_name) 
       i = i + 1 
      Next 
      Console.WriteLine("Found:" + i.ToString + " Files") 
     Catch ex As Exception 
      Console.Write(ex.Message) 
     End Try 
    End Sub 

End Module 

Примечание: Debug.Print напечатает к "Output Window" в Visual Studio, а не в командной строке, поэтому ..... заявления Debug.Print могут быть не совсем очевидны, если вы не открываете окно вывода.

Degug.Print in VBA

+0

Debug.Print (sFile.ToString) Имеют открытые и выходные окна Windows – Xardoz