Могу ли я получить доступ к автоматическому названию экспорта файла с переменной частью имени файла и фиксированной частью имени файла - PullRequest
0 голосов
/ 16 мая 2019

Я работаю над БД Access 2014, которая экспортирует результаты запроса в файл Excel, который можно отправить третьей стороне.Я хочу, чтобы полученный файл Excel отправлялся в указанную папку на общем диске со схемой именования «serialnumber vendor ASL.xlsx»

Любые подсказки, на которые я должен обратить внимание, указатели на сайты, которые я не нашелс Duck Duck Go все было бы очень признательно

Сейчас я использую простой макрос для экспорта файла с помощью «ExportWithFormatting», но мне кажется, что в поле «Выходной файл» ничего не происходит, что даетмне любая гибкость.

Я подозреваю, что это может быть сделано с VBS, но я довольно шаткий, когда дело доходит до установки и запуска модуля VBS.Я преобразовал макрос в модуль VBS, но понятия не имею, куда идти.

Option Compare Database

'------------------------------------------------------------
' expord_ASL_to_Excel
'
'------------------------------------------------------------
Function expord_ASL_to_Excel()
On Error GoTo expord_ASL_to_Excel_Err

    DoCmd.OutputTo acOutputQuery, "Match up", "ExcelWorkbook(*.xlsx)", "", True, "", , acExportQualityPrint


expord_ASL_to_Excel_Exit:
    Exit Function

expord_ASL_to_Excel_Err:
    MsgBox Error$
    Resume expord_ASL_to_Excel_Exit

End Function

Я немного повозился с ним, но не могу заставить его что-либо делать.В настоящее время я пытаюсь вернуться к основам работы с модулем VBS, поэтому мне пока не нужна помощь с этим.Я просто пытаюсь понять, что это немного изящно.

1 Ответ

2 голосов
/ 16 мая 2019

За комментарии OP, Vendor и Serial выбираются из комбинированных списков в форме.

Этот код должен быть помещен в модуль - перезапишите имеющуюся функцию.Это может быть вызвано через Macro - RunCode или вы можете связать нажатие кнопки непосредственно с ним.

Просто замените значение networkPath папкой (включая последнюю), где вы хотите, чтобы файл заканчивался.

Затем замените обозначения Form ("Form1") и ComboBox ("SerialComboBox", "VendorComboBox") на имена вашей формы и элементов управления.

Function expord_ASL_to_Excel()
On Error GoTo expord_ASL_to_Excel_Err

Dim networkPath As String

networkPath = "C:\Your\Network\Path\"

exportPath = networkPath & Forms!Form1!SerialComboBox.Value & " " & Forms!Form1!VendorComboBox.Value & " ASL.xlsx"

DoCmd.OutputTo acOutputQuery, "Match up", "ExcelWorkbook(*.xlsx)", exportPath, True, "", , acExportQualityPrint

expord_ASL_to_Excel_Exit:
        Exit Function

expord_ASL_to_Excel_Err:
        MsgBox Error$
        Resume expord_ASL_to_Excel_Exit
End Function
...