我有一个文件,当按下一个按钮时,它会打开一个特定的文件夹。我将把这个文件分发给其他用户,所以代码必须知道查看正确的目录:
- 查看文件夹是否存在,如果存在则打开文件夹
- 创建不存在的文件夹,创建 后打开
If Dir("C:UsersmyUsernameDesktopsampleFolder", vbDirectory) = "" Then
MkDir "C:UsersmyUsernameDesktopsampleFolder"
retVal = Shell("explorer.exe C:UsersmyUsernameDesktopsampleFolder", vbNormalFocus)
Else
retVal = Shell("explorer.exe C:UsersmyUsernameDesktopsampleFolder", vbNormalFocus)
End If
我的主要问题是,我无法弄清楚如何获得用户的实际用户名,将出现在文件路径"C:Users__________Desktop"
这是正确的方法吗?如果我将自己的用户名插入到代码中,则代码可以工作,但我无法找出自动获取用户名的方法,因此代码对最终用户来说很容易。
Try
Public Sub EnsureDesktopFolderExists(ByVal folderName As String)
Dim path As String
path = Environ$("USERPROFILE") & "Desktop" & folderName
If Len(Dir(path, vbDirectory)) = 0 Then MkDir path
End Sub
VBA围住
我的主要问题是,我无法弄清楚如何获得用户的实际用户名,将出现在文件路径"C:Users__________Desktop"
一般来说,Environ
函数应该可以工作(尽管可能有例外),并且您也可以压缩代码:
Dim username$
Dim myFolder$
username = ENVIRON("username")
myFolder = "C:Users" & username & "DesktopsampleFolder"
If Dir(myFolder, vbDirectory) = "" Then
MkDir myFolder
End If
retVal = Shell("explorer.exe " & myFolder, vbNormalFocus)