2016-05-10 120 views
2

我有一個存儲文件路徑的Access數據庫。有時文檔會被放入「存檔」子文件夾中。我創建了一個用文件名和文件路徑加載記錄的表單。在表單上我創建了一個按鈕,將\archive\添加到現有文件路徑中。需要在文件路徑中找到最後一個反斜槓後插入\archive\。這是我嘗試過的功能,但我無法在任何地方找到解決方案。將字符串插入字符串的特定部分

Public Function insertArch (ByVal strPath As String) insertArchive = InStrRev(strPath, "\") + " archive\" End Function

我試圖找到從字符串末尾的第一個反斜槓,然後要插入archive\。我究竟做錯了什麼?

回答

3

InStrRev返回字符偏移量,而不是字符串。

您可以:

Public Function insertArchive(ByVal strPath As String) As String 
    Dim pos As Long 
    pos = InStrRev(strPath, "\") 
    If (pos > 0) Then 
     insertArchive = Left$(strPath, pos) & "archive\" & Mid$(strPath, pos + 1) 
    Else 
     insertArchive = strPath 
    End If 
End Function 

爲:

?insertArchive("C:\foo\bar\qux.dat") 
C:\foo\bar\archive\qux.dat 
+0

完美的作品。讚賞。 – JB28