[英]vba excel 2010 Environ(“username”) not working in saveas filepath
出于某种原因,我可以让消息框告诉我用户名是什么,但它在另存为路径中的工作方式不同。 我收到“找不到路径”错误。
不知道如何解决这个问题。 我也看过参考资料,他们似乎是正确的。
如果我更改路径以包含每台计算机的实际用户名,则宏可以正常工作。 但我需要它成为任何计算机/用户的全局宏。 任何帮助将不胜感激。
这是我所拥有的:
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
似乎是个老问题。 但是对于任何偶然发现这篇文章的人来说,添加$对我有用- & Environ$("username") &
或者你可以只放VBA.
在它面前。 这为我修复了它。 即Environ("Username")
变成VBA.Environ("Username")
。
Environ("UserProfile") &
这在 2007-2013 Excel 版本上对我有用。
刚刚使用 VBA 7.1 发现了同样的问题
解决方法是使用
path = Environ$("Userprofile") & "\Documents\temp_excel_files\"
Environ$("Userprofile")
会给你类似 "c:\\users\\Johnsmith" 的东西放在你的路径中。
干杯! 安德鲁
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.