2017-04-24 136 views
0

我想按照文件名升序的順序打印一個文件目錄(對我而言並不是這樣 - 在文件創建順序中似乎是默認的)。按文件名順序打印文件

代碼:

Dim PrintPDF As New ProcessStartInfo 
For Each fileName1 In Directory.GetFiles(strALPRMailOutReports, "*.pdf", SearchOption.AllDirectories) 
    PrintPDF.UseShellExecute = True 
    PrintPDF.Verb = "print" 
    PrintPDF.WindowStyle = ProcessWindowStyle.Hidden 
    fileNameOnly = Path.GetFileName(fileName1) 
    PrintPDF.FileName = strALPRMailOutReports & "\" & fileNameOnly 
    Process.Start(PrintPDF) 
Next 
+0

從[文檔](https://msdn.microsoft.com/en-us/library/07wt70x2.aspx):「返回的文件名的順序不能保證;使用Sort方法if需要特定的排序順序。「 –

+0

對不起,我是vb編碼新手,但請你舉一個例子,說明如何將排序合併到我上面的打印代碼中? – AlanGrant

+0

謝謝科迪。它現在有效。 – AlanGrant

回答

1

一個簡單的排序將做的伎倆。

Dim files() As String = IO.Directory.GetFiles("Path here") 
Array.Sort(files) 
For Each fileName1 In files 
    'Print fileName1 
Next 
+0

謝謝EuX0。這對我行得通! – AlanGrant