excel vba将access file.mdb转换为file.csv

我从Excel VBA录制了一个从访问file.mdb中提取数据的macros。 如何用CommandText = Array()replace用户提示符C:\test.mdb 。 我想每次都有一个用户提示不同的file.mdb。 Excel VBA中的符号是什么意思?

另外,是否有可能将每个设备ID分割到一个新的file.csv

 Sub Macro1() ' ' Macro1 Macro ' ' ActiveWorkbook.Worksheets.Add With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _ "ODBC;DSN=MS Access Database;DBQ=C:\test.mdb;DefaultDir=C:\;DriverId=25;FIL=MS Access;MaxB" _ ), Array("ufferSize=2048;PageTimeout=5;")), Destination:=Range("$A$1")). _ QueryTable .CommandText = Array( _ "SELECT Program.`Program Name`, Program.`Program Desc`, Program.`Program Unique`, Program.`Program DB`, Operator.`Operator ID`, Operator.`Operator Unique`, `Device Under Test`.`Device ID`, `Device Unde" _ , _ "r Test`.Notes, `Device Under Test`.`Device Under Test Unique`, Data_vD.`Test Unique`, Data_vD.Exclude, Data_vD.`Total Time`, Data_vD.Cycle, Data_vD.`Loop Counter #1`, Data_vD.`Loop Counter #2`, Data_v" _ , _ "D.`Loop Counter #3`, Data_vD.Step, Data_vD.`Step time`, Data_vD.Current, Data_vD.Voltage, Data_vD.Power, Data_vD.`Instantaneous Amps`, Data_vD.`Instantaneous Volts`, Data_vD.`Instantaneous Watts`, Dat" _ , _ "a_vD.`Amp-Hours`, Data_vD.`Watt-Hours`, Data_vD.`Assignable Variable 1`, Data_vD.`Assignable Variable 2`, Data_vD.Mode, Data_vD.`Data Acquisition Flag`" & Chr(13) & "" & Chr(10) & "FROM `C:\test.mdb`.Data_v" _ , _ "D Data_vD, `C:\test.mdb`.`Device Under Test` `Device Under Test`, `C:\test.mdb`.Operator Operator, `C:\test.mdb`.Program Program" _ ) .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = "Table_Query_from_MS_Access_Database" .Refresh BackgroundQuery:=False End With Columns("J:J").Select ActiveWorkbook.Worksheets("Sheet4").ListObjects( _ "Table_Query_from_MS_Access_Database").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet4").ListObjects( _ "Table_Query_from_MS_Access_Database").Sort.SortFields.Add Key:=Range( _ "Table_Query_from_MS_Access_Database[[#All],[Test Unique]]"), SortOn:= _ xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet4").ListObjects( _ "Table_Query_from_MS_Access_Database").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWindow.SmallScroll Down:=-12 Range("I2").Select ActiveWorkbook.Worksheets("Sheet4").ListObjects( _ "Table_Query_from_MS_Access_Database").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet4").ListObjects( _ "Table_Query_from_MS_Access_Database").Sort.SortFields.Add Key:=Range( _ "Table_Query_from_MS_Access_Database[[#All],[Device Under Test Unique]]"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet4").ListObjects( _ "Table_Query_from_MS_Access_Database").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub