2017-04-24 146 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