دير وظيفة في إكسيل 2010 فبا لا يعمل
-
12-12-2019 - |
سؤال
أحاول حلقة من خلال دليل معين للعثور على أحدث ملف كسف تحميلها.لسبب ما وظيفة دير بلدي لن تجد أي ملف حتى لو كان الملف موجود.أنا لست على دراية تماما مع فبا لذلك أنا ربما قد يكون في عداد المفقودين نوعا من الإشارة لأداء وظيفة دير ، ولكن لا أستطيع العثور على أي شيء على الانترنت أن يقول لي أنا بحاجة إلى.جميع الأمثلة والمنتديات تستخدم دير مثلما أفعل ، ولكن لا أستطيع الحصول على الألغام للعمل.هنا هو رمز ، من فضلك قل لي إذا كنت تستطيع أن ترى ما أفعله خطأ:
Public Function Get_File() as string
Dim filePath As String
ChDir ("..")
filePath = CurDir
'Goes back to Documents directory to be in same directory as macro
ChDir (filePath & "\Documents")
filePath = filePath & "\Downloads\test.txt"
filePath = getLatestFile(filePath)
Get_File = filePath
End Function
Public Function getLatestFile(pathToFile As String) As String
Dim StrFile As String
Dim lastMod As Variant
Dim nextMod As Variant
Dim lastFileName As String
StrFile = Dir(pathToFile)
lastFileName = StrFile
lastMod = FileDateTime(StrFile)
While Len(StrFile) > 0
Debug.Print StrFile
StrFile = Dir
nextMod = FileDateTime(StrFile)
If nextMod > lastMod Then
lastFileName = StrFile
lastMod = nextMod
End If
Wend
getLatestFile = lastFileName
End Function
الاختبار.ملف تكست في ملف التحميل الخاص بي وسلسلة فيليباث يطبع ليكون المسار الصحيح ، ولكن أظل الحصول على خطأ تفيد أنه لا يمكن العثور على الملف.فشل في أول استخدام دير (باثوفيل).أي مساعدة سيكون موضع تقدير كبير.
المحلول
Dir()
إرجاع جزء اسم الملف من المسار فقط ، أي أنه لا يعيد جزء المجلد.على سبيل المثال,
Dir("C:\MyPath\MyFile.txt")
المرتجعات MyFile.txt
لا C:\MyPath\MyFile.txt