我有一个文件,其中包括按下按钮时打开特定文件夹。我将把这个文件分发给其他用户,因此代码必须知道查看正确的目录:
到目前为止,这是我的代码的相关部分:
If Dir("C:\Users\myUsername\Desktop\sampleFolder", vbDirectory) = "" Then
MkDir "C:\Users\myUsername\Desktop\sampleFolder"
retVal = Shell("explorer.exe C:\Users\myUsername\Desktop\sampleFolder", vbNormalFocus)
Else
retVal = Shell("explorer.exe C:\Users\myUsername\Desktop\sampleFolder", vbNormalFocus)
End If
我的主要问题是我无法弄清楚如何获取用户的实际用户名,该用户名将出现在文件路径“C:\ Users __________ \ Desktop”中
这甚至是正确的方法吗?如果我在代码中插入自己的用户名,代码就可以工作,但我无法找到自动获取用户名的方法,因此最终用户的代码很容易。
答案 0 :(得分:2)
尝试
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
答案 1 :(得分:1)
我的主要问题是我无法弄清楚如何获取用户的实际用户名,该用户名将出现在文件路径“C:\ Users __________ \ Desktop”中
通常,Environ
函数应该有效(尽管可能有例外),您也可以稍微压缩代码:
Dim username$
Dim myFolder$
username = ENVIRON("username")
myFolder = "C:\Users\" & username & "\Desktop\sampleFolder"
If Dir(myFolder, vbDirectory) = "" Then
MkDir myFolder
End If
retVal = Shell("explorer.exe " & myFolder, vbNormalFocus)