Vb.net 如何从中获取最近修改的日期pdf文件并在VB上显示?
我试图让vb读取特定文件夹中最近修改的pdf文件,并在我的vb表单上显示该pdf文件。我只能在我的vb表单上创建一个简单的pdf显示,我对此感到困惑。有人能帮忙吗 找不到解决我问题的办法Vb.net 如何从中获取最近修改的日期pdf文件并在VB上显示?,vb.net,Vb.net,我试图让vb读取特定文件夹中最近修改的pdf文件,并在我的vb表单上显示该pdf文件。我只能在我的vb表单上创建一个简单的pdf显示,我对此感到困惑。有人能帮忙吗 找不到解决我问题的办法 Dim testFile As System.IO.FileInfo Dim fileName As String Dim folderPath As String Dim fullPath As String testFile = My.Computer.FileSy
Dim testFile As System.IO.FileInfo
Dim fileName As String
Dim folderPath As String
Dim fullPath As String
testFile = My.Computer.FileSystem.GetFileInfo("C:\Users\example.pdf")
folderPath = testFile.DirectoryName
fileName = testFile.Name
fullPath = My.Computer.FileSystem.CombinePath(folderPath, fileName)
AxAcroPDF1.src = fullPath
我的vb表单应该显示基于最新修改文件的PDF。您需要调用两组函数来实现这一点 答:这将列出一个目录中的所有文件,并且它有提供搜索模式和在子文件夹中查找的选项 B.-这将返回您传递给它的文件的上次修改时间 您可以将这些功能组合在一起,如:
Private Function GetLatestModifiedFileName(searchFolder As String) As String
Dim retVal = "<empty>"
Dim filesInDirectory() = Directory.GetFiles(searchFolder)
Dim latestModifiedtime As DateTime = DateTime.MinValue
For Each fileInDirectory As String In filesInDirectory
Dim currentFileModifiedTime As DateTime = File.GetLastWriteTime(fileInDirectory)
If (currentFileModifiedTime > latestModifiedtime) Then
retVal = fileInDirectory
latestModifiedtime = currentFileModifiedTime
End If
Next
Debug.Print("File: '{0}' was last modified on: '{1}'", retVal, latestModifiedtime)
Return retVal
End Function
变量lastModifiedFileName将包含具有最新修改日期/时间的文件的完整路径。您可以使用IO.DirectoryInfo类获取目录中的每个IO.FileInfo,同时特别针对PDF文件,然后使用LINQ按其LastWriteTime对其进行排序,然后从集合中获取最后一个文件:
Dim folder As IO.DirectoryInfo = New IO.DirectoryInfo("my folder path here")
Dim lastModifiedPdf As IO.FileInfo = folder.GetFiles("*.pdf").OrderBy(Function(f) f.LastWriteTime).LastOrDefault()
If lastModifiedPdf IsNot Nothing Then
'....
End If
谢谢你,大卫。简单的问题。现在,我正在VB表单中显示PDF。如何在VB窗体之外显示PDF或图像文件?我建议打开一个单独的线程,但通常如果您只想使用默认应用程序打开文件,请使用该过程。启动方法:
Dim folder As IO.DirectoryInfo = New IO.DirectoryInfo("my folder path here")
Dim lastModifiedPdf As IO.FileInfo = folder.GetFiles("*.pdf").OrderBy(Function(f) f.LastWriteTime).LastOrDefault()
If lastModifiedPdf IsNot Nothing Then
'....
End If