請我怎樣才能改變這種更改絕對路徑相對路徑VBA
Set historyWb = Workbooks.Open("U:\DB_DATA\HISTORY_LOG.xlsx")
相對路徑? DB_DATA \ HISTORY_LOG.xlsx
我有兩個文件。如果我想將這兩個文件複製到不同的位置,我需要兩個都連接。
THX的幫助
請我怎樣才能改變這種更改絕對路徑相對路徑VBA
Set historyWb = Workbooks.Open("U:\DB_DATA\HISTORY_LOG.xlsx")
相對路徑? DB_DATA \ HISTORY_LOG.xlsx
我有兩個文件。如果我想將這兩個文件複製到不同的位置,我需要兩個都連接。
THX的幫助
該功能被稱爲get_relative
,它有一個可選的值,相對於獲得。如果不設置的值,它是1 因此TESTME模塊將返回以下:
\DB_DATA\HISTORY_LOG.xlsx
\HISTORY_LOG.xlsx
這裏談到的代碼:
Option Explicit
Sub TestMe()
Debug.Print get_relative("U:\DB_DATA\HISTORY_LOG.xlsx")
Debug.Print get_relative("U:\DB_DATA\HISTORY_LOG.xlsx", 2)
End Sub
Public Function get_relative(str_path As String, Optional l_number As Long = 1) As String
Dim str_result As String
Dim l_start As Long
Dim l_counter As Long
For l_counter = 1 To l_number
l_start = InStr(l_start + 1, str_path, "\")
Next l_counter
get_relative = Mid(str_path, InStr(l_start, str_path, "\"))
End Function
如果使用Activeworkbook.FullName
它會給你當前活動的文件的完整路徑..但你不知道這一點,如果你反正有保存呢?
有兩種可能的解決方案在這裏:
i)您可以使用一個工作簿來生成路徑,並改變它
Dim Path As String
Path = Application.Substitute(ThisWorkbook.FullName, ThisWorkbook.Name, "")
Path = Path & "Subfolder A\"
二)SE cond是你應該能夠使用'。'的。 ('。'=此文件夾,'..'=父文件夾)
Dim Path AS String
Path = ".\Subfolder A\"
Path = "..\..\Subfolder B\"
我對此代碼有點困惑。它可能適用於 'Sub XFer() Dim wb As Workbook,NR As Long 設置wb = Workbooks.Open(「Quotes.xls」) NR =表格(「Sheet1」)。Range(「A」 (「Sheet1」).Range.Count).End(xlUp).Row + 1 With ThisWorkbook.Sheets(「Result Sheet」) wb.Sheets(「Sheet1」)。Range(「A」&NR).Value = .Range(「 B4「)。Value End With wb.Close savechanges:= True End Sub' – Nataniell