Excel VBA中的相对路径而不是绝对路径

Ank*_*ngh 3 excel vba excel-vba

以下代码工作正常,但现在如果我想让它给同事我需要使用相对路径来获取代码中的工作簿:

Sub HELLO()

Dim x As Workbook


Sheets("Sheet1").Cells.Clear

'## Open both workbooks first:
Set x = Workbooks.Open("C:\Users\500722\Desktop\dashboard\Task.xls")


'Now, transfer values from x to y:
Sheet1.Cells(1, 1) = x.Sheets("Page 1").Range("A1")
With x.Sheets("Page 1").UsedRange
    'Now, paste to y worksheet:
    Sheet1.Range("A1").Resize( _
        .Rows.Count, .Columns.Count) = .Value

End With

x.Close

End Sub
Run Code Online (Sandbox Code Playgroud)

如果我使用Give,Set x = Workbooks.Open("\Task.xls")我会收到一条错误消息,指出无法找到路径.

Sam*_*Sam 6

请改用:

Set x = Workbooks.Open(ThisWorkbook.Path & "\Task.xls")
Run Code Online (Sandbox Code Playgroud)