如何在 vba 中创建位置变量?
How to make location variable in vba?
Workbooks.Open ("C:\Users\**VARIANT**\Desktop\Excel Before Code Templates (BCT)\Data_BCT.xlsx")
我想使 "variant" 部分成为依赖于输入的变量。我想这样做,因为它需要为每个其他用户修改。
Dim variablePart as String
variablePart = "someFolderName"
Workbooks.Open("C:\Users\" & variablePart & "\Desktop\Excel Before Code Templates (BCT)\Data_BCT.xlsx")
'will lead to: C:\Users\someFolderName\Desktop\Excel Before Code Templates (BCT)\Data_BCT.xlsx")
只需使用以下代码:
Sub InsertUserName()
Dim folder_var As String
folder_var = InputBox("Insert your User Name")
Workbooks.Open ("C:\" & folder_var & " \Desktop\Excel Before Code Templates (BCT)\Data_BCT.xlsx")
End Sub
您可以使用Environ$
获取当前用户:
Dim desktop As String
desktop = "C:\Users\" & Environ$("USERNAME") & "\Desktop\"
Debug.Print desktop
参考:Special Folders
FilePath = getDeskTopPath & "\Excel Before Code Templates (BCT)\Data_BCT.xlsx"
If Len(Dir(FilePath)) > 0 then
Workbooks.Open (FilePath)
End If
Function getDeskTopPath()
Dim objShell As Object
Dim strPath As String
Set objShell = CreateObject("Wscript.Shell")
strPath = objShell.SpecialFolders("Desktop")
getDeskTopPath = strPath
Set objShell = Nothing
End Function
您还可以使用 Application.FileDialog 选择文件或文件夹。详情见这篇文章:VBA FILEDIALOG – OPENING, SELECTING AND SAVING FILES AND FOLDERS
Workbooks.Open ("C:\Users\**VARIANT**\Desktop\Excel Before Code Templates (BCT)\Data_BCT.xlsx")
我想使 "variant" 部分成为依赖于输入的变量。我想这样做,因为它需要为每个其他用户修改。
Dim variablePart as String
variablePart = "someFolderName"
Workbooks.Open("C:\Users\" & variablePart & "\Desktop\Excel Before Code Templates (BCT)\Data_BCT.xlsx")
'will lead to: C:\Users\someFolderName\Desktop\Excel Before Code Templates (BCT)\Data_BCT.xlsx")
只需使用以下代码:
Sub InsertUserName()
Dim folder_var As String
folder_var = InputBox("Insert your User Name")
Workbooks.Open ("C:\" & folder_var & " \Desktop\Excel Before Code Templates (BCT)\Data_BCT.xlsx")
End Sub
您可以使用Environ$
获取当前用户:
Dim desktop As String
desktop = "C:\Users\" & Environ$("USERNAME") & "\Desktop\"
Debug.Print desktop
参考:Special Folders
FilePath = getDeskTopPath & "\Excel Before Code Templates (BCT)\Data_BCT.xlsx"
If Len(Dir(FilePath)) > 0 then
Workbooks.Open (FilePath)
End If
Function getDeskTopPath()
Dim objShell As Object
Dim strPath As String
Set objShell = CreateObject("Wscript.Shell")
strPath = objShell.SpecialFolders("Desktop")
getDeskTopPath = strPath
Set objShell = Nothing
End Function
您还可以使用 Application.FileDialog 选择文件或文件夹。详情见这篇文章:VBA FILEDIALOG – OPENING, SELECTING AND SAVING FILES AND FOLDERS