如果不存在,请在任何用户的“桌面”目录中创build一个文件夹
我有一个文件,其中包括,当按下button时打开一个特定的文件夹。 我将分发这个文件给其他用户,所以代码必须知道要查看正确的目录:
- 看看文件夹是否已经存在,如果存在,打开文件夹
- 如果该文件夹不存在,请创build该文件夹,并在创build后将其打开
到目前为止,这里是我的代码的相关部分:
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
我的主要问题是,我不知道如何获得用户的实际用户名,将出现在文件path“C:\用户__________ \桌面”
这甚至是正确的方法吗? 如果我将自己的用户名插入代码中,代码将起作用,但是我无法弄清楚自动获取用户名的方式,因此代码对于最终用户来说很简单。
尝试
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环境
我的主要问题是,我不知道如何获得用户的实际用户名,将出现在文件path“C:\用户__________ \桌面”
一般来说, Environ
函数应该可以工作(尽pipe可能有例外),也可以简化一下代码:
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)