繁体   English   中英

vba excel 2010 环境(“用户名”)在另存为文件路径中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM