vba excel 2010 Environ("用户名")在saveas文件路径中不起作用

时间:2014-01-13 18:06:18

标签: vba excel-2010 username

出于某种原因,我可以让消息框告诉我用户名是什么,但它在save as path中的工作方式不同。我收到“无法找到路径”错误。

不确定如何解决这个问题。我也看过参考文献,看起来它们是正确的。

如果我更改路径以包含每台计算机的实际用户名,则宏可以正常工作。但我需要这个是任何计算机/用户的全局宏。任何帮助将不胜感激。

这就是我所拥有的:

Sub SAVEAS_2010()
'
' SAVEAS_2010 Macro
MsgBox Environ("username")

Dim UserName As String
UserName = Environ("username")

ChDir "C:\Users\" & UserName & "\Dropbox\Open Machine Schedule"
ActiveWorkbook.SaveAs FileName:= _
    "C:\Users\" & UserName & "\Dropbox\Open Machine Schedule\Open Machine Schedule - Current_2.xlsx" _
    , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

4 个答案:

答案 0 :(得分:5)

似乎是一个老问题。但是对于那些偶然发现这篇文章的人来说,添加 $ 对我有用 - 的&安培; Environ $("用户名")&

答案 1 :(得分:5)

或者您可以将VBA.放在它前面。这为我解决了这个问题。 即Environ("Username")变为VBA.Environ("Username")

答案 2 :(得分:2)

Environ("UserProfile") &

这对2007-2013的Excel版本有用。

答案 3 :(得分:0)

只是使用VBA 7.1发现了相同的问题

解决方法是使用

    path = Environ$("Userprofile") & "\Documents\temp_excel_files\"

    Environ$("Userprofile") 

将为您提供“ c:\ users \ Johnsmith”之类的内容。

干杯! 安德鲁