在 excel 中编辑自动命名宏(基于 PC 名称和日期,具有可变保存路径)
Editing an automated naming macro in excel (based on PC name and date, with variable save path)
我目前正在尝试获取一个 excel 文件以保存到最后编辑的 YYYYMMDD_fixed 姓名 piece_INITIALS 中。
我正在使用 Environ 函数调用单元格中的用户名和 PC 名,我发现该单元格可用于添加到名称中。
我要解决的问题是:
我如何定义保存路径以在任何 PC 上工作,而不管用户名如何,因为当前路径有 Users/my name/ ,最多 4 个具有不同 PC 和名称的人将编辑这个文件。它应该只保存在 4 台 PC 中任意一台的桌面上
如何修改
strFile = "C:\Users\me\Desktop\" & Format(dtDate, "ddmmyyyy") & ".xlsx"
部分,以便它显示 YYYYMMDD_name(我明白这部分)_ABC,其中 ABC 值位于由以下 attr 函数生成的单元格 A1 中?
使用的函数是
Function attr(choice) As String
Select Case (choice)
Case "computer": attr = Environ("Computername")
Case "user": attr = Environ("UserName")
End Select
End Function
我用来保存的文件(尽管不同文件的格式不同)是
Dim dtDate As Date
dtDate = Date
Dim strFile As String
strFile = "C:\Users\me\Desktop\" & Format(dtDate, "ddmmyyyy") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=strFile, FileFormat _
:=51, CreateBackup:=False
如有任何帮助,我们将不胜感激!
编程不是我的主要工作,只是尽可能地尝试自动化,所以请对我放轻松:)
也许这样的事情会有所帮助:
Dim strFile As String, strUserName As String
Dim dtDate As Date
dtDate = Now
strUserName = attr("user")
strFile = "C:\Users\" & strUserName & "\Desktop\" & Format(dtDate, "ddmmyyyy") & "_" & Sheets("Sheet1").Range("A1").Value & ".xlsx"
MsgBox strFile
请注意,我已将活动用户名的值分配给 strUserName
,并且我将其与您的 strFile
一起使用。我还在代码中添加了 Sheets("Sheet1").Range("A1").Value
(相应地更改 sheet 名称)。最终结果将如下所示:
C:\Users\username\Desktop082019_username.xlsx
我目前正在尝试获取一个 excel 文件以保存到最后编辑的 YYYYMMDD_fixed 姓名 piece_INITIALS 中。
我正在使用 Environ 函数调用单元格中的用户名和 PC 名,我发现该单元格可用于添加到名称中。
我要解决的问题是:
我如何定义保存路径以在任何 PC 上工作,而不管用户名如何,因为当前路径有 Users/my name/ ,最多 4 个具有不同 PC 和名称的人将编辑这个文件。它应该只保存在 4 台 PC 中任意一台的桌面上
如何修改
strFile = "C:\Users\me\Desktop\" & Format(dtDate, "ddmmyyyy") & ".xlsx"
部分,以便它显示 YYYYMMDD_name(我明白这部分)_ABC,其中 ABC 值位于由以下 attr 函数生成的单元格 A1 中?
使用的函数是
Function attr(choice) As String
Select Case (choice)
Case "computer": attr = Environ("Computername")
Case "user": attr = Environ("UserName")
End Select
End Function
我用来保存的文件(尽管不同文件的格式不同)是
Dim dtDate As Date
dtDate = Date
Dim strFile As String
strFile = "C:\Users\me\Desktop\" & Format(dtDate, "ddmmyyyy") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=strFile, FileFormat _
:=51, CreateBackup:=False
如有任何帮助,我们将不胜感激! 编程不是我的主要工作,只是尽可能地尝试自动化,所以请对我放轻松:)
也许这样的事情会有所帮助:
Dim strFile As String, strUserName As String
Dim dtDate As Date
dtDate = Now
strUserName = attr("user")
strFile = "C:\Users\" & strUserName & "\Desktop\" & Format(dtDate, "ddmmyyyy") & "_" & Sheets("Sheet1").Range("A1").Value & ".xlsx"
MsgBox strFile
请注意,我已将活动用户名的值分配给 strUserName
,并且我将其与您的 strFile
一起使用。我还在代码中添加了 Sheets("Sheet1").Range("A1").Value
(相应地更改 sheet 名称)。最终结果将如下所示:
C:\Users\username\Desktop082019_username.xlsx