返回的用户名错误,缺少单引号



这是我的代码:

Dim path As String
Dim user As String
user = CreateObject("WScript.Network").username
path = "C:Users" & user & "AppDataRoaming" & ThisWorkbook.Name & "-" & ThisWorkbook.Sheets("Settings").Range("B16") & ".log"

这适用于除一个人以外的所有人。

上面的VBA代码返回以下路径:C:UsersABcdeFAppDataRoaming

%appdata%返回以下路径:C:UsersA'BcdeFAppDataRoaming

请注意第一个示例中缺少的单引号。我尝试了以下三种获取用户名的方法,但没有成功:

  1. Environ("username")
  2. CreateObject("WScript.Shell").ExpandEnvironmentStrings("%USERNAME%")
  3. CreateObject("WScript.Network").UserName

在我看来,用户名是错误的,需要由我的组织更改吗?

您的问题似乎是获取user...Roaming文件夹的路径。

如果是这样的话,我建议使用:environ("appdata")

为我的工作尝试Application.UserName

或者也试试,replace(Environ("username"), "'", "")这个只删除这个('(,解决这个问题。

最新更新