如何從短檔名取得長檔名

文章翻譯 文章翻譯
文章編號: 154822 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
全部展開 | 全部摺疊

在此頁中

結論

Dir() 函式可以用來傳回長檔名,但它不包含路徑資訊。藉由剖析檔案指定短路徑/名稱到其組成的目錄,您可以使用 Dir() 函數,來建置一個長路徑/檔案名稱。本文將告訴您,如何完成這項行為。

其他相關資訊

下列程式碼範例也包含函式,將轉換成其等價的長檔名的短檔名,並且還包括簡單示範的函式的使用。

雖說是逐步範例

  1. 啟動 Visual Basic。預設會建立 Form1。
  2. 將命令按鈕至 Form1。
  3. 從 [插入] 功能表中,選取模組將單一的程式碼模組加入至專案。
  4. 將下列程式碼加入 Module1:
       Public Function GetLongFilename _
         (ByVal sShortName As String) _
         As String
    
         Dim sLongName As String
         Dim sTemp As String
         Dim iSlashPos As Integer
    
         'Add \ to short name to prevent Instr from failing
         sShortName = sShortName & "\"
    
         'Start from 4 to ignore the "[Drive Letter]:\" characters
         iSlashPos = InStr(4, sShortName, "\")
    
         'Pull out each string between \ character for conversion
         While iSlashPos
           sTemp = Dir(Left$(sShortName, iSlashPos - 1), _
             vbNormal + vbHidden +    vbSystem + vbDirectory)
           If sTemp = "" Then
             'Error 52 - Bad File Name or Number
             GetLongFilename = ""
             Exit Function
           End If
           sLongName = sLongName & "\" & sTemp
           iSlashPos = InStr(iSlashPos + 1, sShortName, "\")
         Wend
    
         'Prefix with the drive letter
         GetLongFilename = Left$(sShortName, 2) & sLongName
    
       End Function
    
    					
  5. 將下列程式碼加入至 Command1_Click 事件:
       Private Sub Command1_Click()
    
         'Assumes C:\Program Files\Common Files is a valid path
         Print GetLongFilename("C:\PROGRA~1\COMMON~1")
    
       End Sub
    
    					
  6. 選擇 [開始],請從 [執行] 功能表或按 F5 鍵以開始。
  7. 按一下 [命令] 按鈕。
如果您提供的路徑是有效的長的對等用法會列印在表單上。如果它不是有效,執行任何動作就會列印,在這種情況下,您就需要提供有效的短檔名 Command1_Click 事件程式碼中。

屬性

文章編號: 154822 - 上次校閱: 2014年3月1日 - 版次: 4.1
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
關鍵字:?
kbnosurvey kbarchive kbmt kbhowto KB154822 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:154822
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com