2015-09-15 1 views
1

У меня есть проект, над которым я часто работаю, данные поступают в Access & Мне нужно экспортировать в Excel. Следующий код всегда работал, пока моя компания не обновилась до Windows 2010 пару лет назад. Что произойдет, я укажу на subdir, который я хочу (например, P: \ project \ evaluation \ output), и он сохранит один subdir (например, P: \ project \ оценка).Указание MS Access на переменный путь в VBA для экспорта в Excel

Код: «имя файла и путь к таблице вы хотите импортировать из, экспортировать в, или ссылки на»

Sub ExporttoXL() 

Dim response, today 

exportdir = fncOpenFolder() 

today = Format(Date, "mmddyy") 

response = InputBox("What is the date for the title of the output file? (Recommend: mmddyy format)", "Output file date for name", today) 

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ 
    "Query001", "Output-" & response & ".xls" 

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ 
    "Query002", "Output-" & response & ".xls" 

End Sub 
---------------- 
Public Function fncOpenFolder() As String 

Dim fdlg As Object 

Set fdlg = Application.FileDialog(4) 'msoFileDialogFolderPicker 

With fdlg 
    .AllowMultiSelect = False 
    .Title = "Select Folder" 
    If .Show = -1 Then 
     fncOpenFolder = .SelectedItems(1) 
    Else 
     fncOpenFolder = "" 
    End If 

End With 

Set fdlg = Nothing 

End Function 

ответ

1

FileName аргумент TransferSpreadsheet должен быть Но ваш код дает ему только имя файла без пути. Переменная exportdir не используется после того, как вы дадите ей значение от fncOpenFolder().

Пересмотреть код и использовать exportdir включить путь с именем файла для книги, которые вы хотите в качестве цели экспорта ...

Dim strFullPath As String 
strFullPath = exportdir & "\Output-" & response & ".xls" 
Debug.Print strFullPath '<- view this in Immediate window; Ctrl+g will take you there 
'DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ 
' "Query001", "Output-" & response & ".xls" 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ 
    "Query001", strFullPath 
+0

Это установил ее! Спасибо! – lizturtle

Смежные вопросы