![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
![]() |
#14 (permalink) |
長老會員
|
![]() Public Function JetGetFile_MainName$(ByVal JetTemp_FileName$)
' 目的:取得檔案主檔名(藉由分離 主檔名 及 副檔名) ' ' ●部份功能 = fs.GetBaseName(JetTemp_FileName$) ' ' 參照: ' 【Module】 ' (1) 本 Module 中的 JetCheckFileName、JetGetFileName ' ' ============================================================================= ' 參數一(JetTemp_FileName$):〔路徑 + 〕 主檔名 〔 + 副檔名〕 ' ============================================================================= ' 只留下檔名 ' (1)先扣除 路徑(若有的話) If InStrRev(JetTemp_FileName$, "\") <> 0 Then JetTemp_FileName = JetGetFileName$(JetTemp_FileName) ' (2)再扣除 副檔名(若有的話) If InStrRev(JetTemp_FileName$, ".") <> 0 Then JetGetFile_MainName$ = Left(JetTemp_FileName$, InStrRev(JetTemp_FileName$, ".") - 1) Else JetGetFile_MainName$ = JetTemp_FileName$ End If ' ◎過瀘掉含有不正當的命名(檔案) If Not JetCheckFileName(JetGetFile_MainName$) Then MsgBox "一、『" & JetGetFile_MainName$ & "』 主檔名可能有誤!" & vbCrLf & " 其中含有不合法的字元" & vbCrLf & vbCrLf & " 導致傳入 JetCheckFileName 的結果是 False!!!" & vbCrLf & vbCrLf & "二、 JetCheckFileName Module 中判斷有誤!", vbCritical, "From 『JetGetFile_MainName$』" JetGetFile_MainName$ = "" End If End Function Public Function JetGetFile_SubName$(ByVal JetTemp_FileName$, Optional ByVal JetTrue_Mustbe_SubName As Boolean, Optional ByVal JetTrue_GetDot As Boolean) ' 目的:取得檔案副檔名(藉由分離 主檔名 及 副檔名) ' ' ●部份功能 = fs.GetExtensionName(JetTemp_FileName$) ' ' 參照: ' 【Module】 ' (1) 本 Module 中的 JetCheckFileName、JetGetFileName ' ' ============================================================================= ' 參數一(JetTemp_FileName$):〔路徑 + 〕〔 主檔名 + 〕 副檔名(含前面的 ".") ' ----------------------------------------------------------------------------- ' 【(2)非必要參數】 ' 參數二(JetTrue_Mustbe_SubName):(是否) 可以傳入不含 "." ==> 但仍要判定為 副檔名 ' ◎目前偶只能借助 "." 來取得副檔名的實際內容 ' 所以當 此參數為 True 時,一定是確定 傳入的參數一的值內 一定 含副檔名 ' (1) 含 "." ' (2)不含 "." ==> 就是被扣除"." or 原來就指定成 不含"."的副檔名 的參數 ' 針對 上一行介紹的 (2) 的情況時比較 OK ' EX:把 "MDB" 傳入本 Function ==> 傳出結果 將會是 "" ' 而若是此 參數改設成 True,則還是能得到 "MDB" ' 參數三(JetTrue_GetDot) :(是否) 含"." ' ============================================================================= Dim III% ' 只留下檔名 If InStrRev(JetTemp_FileName$, "\") <> 0 Then JetTemp_FileName = JetGetFileName$(JetTemp_FileName) If JetTrue_GetDot Then III = 1 If InStrRev(JetTemp_FileName$, ".") <> 0 Then JetGetFile_SubName$ = Mid(JetTemp_FileName$, InStrRev(JetTemp_FileName$, ".") + 1 - III) ' ◎過瀘掉含有不正當的命名(檔案) If Not JetCheckFileName(JetGetFile_SubName$) Then MsgBox "一、『" & JetGetFile_SubName$ & "』 副檔名可能有誤!" & vbCrLf & " 其中含有不合法的字元" & vbCrLf & vbCrLf & " 導致傳入 JetCheckFileName 的結果是 False!!!" & vbCrLf & vbCrLf & "二、 JetCheckFileName Module 中判斷有誤!", vbCritical, "From 『JetGetFile_SubName$』" JetGetFile_SubName$ = "" End If Else ' 若 傳入的沒有 "." ==> 難以判別 來源 '(1)把結果設定成""(下一行程式碼可有可無,因為字串預設值本來就是"") ' 針對本Function的目的來說,結果比較合理性 ' EX:把 "C:\12345678\ 34567 TXT" 傳入本 Function ==> 傳出結果 將會是 "" ' JetGetFile_SubName$ = "" '(2)把結果設定成傳入的字串(去除 路徑) ' 針對 忘了 傳入 . 的參數比較 OK ' EX:把 "MDB" 傳入本 Function ==> 傳出結果 將會是 "" If JetTrue_Mustbe_SubName Then JetGetFile_SubName$ = JetTemp_FileName$ End If End Function Public Function JetGetFileName$(ByVal JetTemp_PathFile$) ' 目的:取得檔案(完整名稱)(藉由分離 檔案 及 路徑) ' ' ●部份功能 = fs.GetFileName(JetTemp_PathFile$) ' ' 參照: ' 【Module】 ' (1) 本 Module 中的 JetCheckFileName ' ' ============================================================================= ' 參數一(JetPathFile$):完整路徑 + 檔名 ' ============================================================================= JetGetFileName$ = Mid(JetTemp_PathFile$, InStrRev(JetTemp_PathFile$, "\") + 1) ' ◎過瀘掉含有不正當的檔名 If Not JetCheckFileName(JetGetFileName$) Then MsgBox "一、『" & JetGetFileName$ & "』 檔案名稱可能有誤!" & vbCrLf & " 1.含有不合法的字元" & vbCrLf & " 2.路徑 或 磁碟機代號 不存在" & vbCrLf & vbCrLf & " 導致傳入 JetCheckFileName 的結果是 False!!!" & vbCrLf & vbCrLf & "二、 JetCheckFileName Module 中判斷有誤!", vbCritical, "From 『JetGetFileName$』" JetGetFileName$ = "" End If End Function |
![]() |
送花文章: 150,
![]() |