拥有这段代码,我想从environ获取用户名,并将其插入到代码中桌面的路径中;
UseName = Environ("UserName")
DoCmd.TransferSpreadsheet _
acExport, _
acSpreadsheetTypeExcel12Xml, _
"RevbyYrbyMo", _
"C:\Users\UseName\Desktop\RSExcel.xlsx", _
True
试过&符号,引号等,什么都行不通。希望电子表格自动显示在用户的桌面上。
由于
答案 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
也意味着它非常适合以后的修订,故障排除或扩展。