inserr用户名到Desktp的路径

时间:2018-05-30 19:49:47

标签: access-vba

拥有这段代码,我想从environ获取用户名,并将其插入到代码中桌面的路径中;

UseName = Environ("UserName")
DoCmd.TransferSpreadsheet _
acExport, _
acSpreadsheetTypeExcel12Xml, _
"RevbyYrbyMo", _
"C:\Users\UseName\Desktop\RSExcel.xlsx", _
True

试过&符号,引号等,什么都行不通。希望电子表格自动显示在用户的桌面上。

由于

1 个答案:

答案 0 :(得分:1)

我真的觉得你没有得到正确的引号和&符号组合...

尝试:

UseName = Environ("UserName")
DoCmd.TransferSpreadsheet _
acExport, _
acSpreadsheetTypeExcel12Xml, _
"RevbyYrbyMo", _
"C:\Users\" & UseName & "\Desktop\RSExcel.xlsx", _
True

或者,您可以将整个名称和路径指定为该变量,例如:

FileName = "C:\Users\" & Environ("UserName") & "\Desktop\RSExcel.xlsx"

你可以随心所欲地采用这个想法 - 通常一种处理这类事情的好方法是让它变得非常好和清楚,就是把方法的每个元素都变成一个变量:

Dim TransferType As AcDataTransferType
Dim SpreadsheetType As AcSpreadSheetType
Dim TableName As String
Dim FileName As String
Dim HasFieldNames As Boolean

TransferType = acExport
SpreadsheetType = acSpreadsheetTypeExcel12Xml
TableName = "RevbyYrbyMo"
FileName = "C:\Users\" & Environ("UserName") & "\Desktop\RSExcel.xlsx"
HasFieldNames = True

DoCmd.TransferSpreadsheet TransferType, SpreadsheetType, TableName, FileName, HasFieldNames

也意味着它非常适合以后的修订,故障排除或扩展。