在 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 名,我发现该单元格可用于添加到名称中。

我要解决的问题是:

  1. 我如何定义保存路径以在任何 PC 上工作,而不管用户名如何,因为当前路径有 Users/my name/ ,最多 4 个具有不同 PC 和名称的人将编辑这个文件。它应该只保存在 4 台 PC 中任意一台的桌面上

  2. 如何修改

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