1

我目前正在尝试获取一个 excel 文件以保存到 YYYYMMDD_fixed name piece_INITIALS OF LAST PERSON TO EDIT 中。

我正在使用 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

任何帮助将不胜感激!编程不是我的主要工作,只是尽可能地自动化位,所以请放轻松:)

4

1 回答 1

0

也许这样的事情会有所帮助:

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了代码(相应地更改工作表名称)。最终结果将如下所示:

C:\Users\username\Desktop\12082019_username.xlsx

于 2019-08-12T11:29:42.163 回答