在任何用户的桌面目录中创建一个文件夹(如果不存在)



我有一个文件,当按下一个按钮时,它会打开一个特定的文件夹。我将把这个文件分发给其他用户,所以代码必须知道查看正确的目录:

  1. 查看文件夹是否存在,如果存在则打开文件夹
  2. 创建不存在的文件夹,创建
  3. 后打开
到目前为止,下面是我的代码的相关部分:
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)

相关内容

  • 没有找到相关文章

最新更新