我能否获得Access以使用文件名的可变部分和文件名的固定部分自动命名文件导出的权限

时间:2019-05-16 16:57:39

标签: vba ms-access export-to-excel

我正在使用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模块的基础知识,因此在此方面我不需要任何帮助。我只是想弄清楚这一点。

2 个答案:

答案 0 :(得分:1)

根据OP的评论,将从Form上的ComboBoxes中选择Vendor和Serial。

此代码应放在模块中-覆盖那里的功能。可以通过Macro-RunCode触发它,也可以将按钮单击直接链接到它。

只需将networkPath值替换为您希望文件结束的文件夹(包括final)。

然后将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 Sub

expord_ASL_to_Excel_Err:
        MsgBox Error$
        Resume expord_ASL_to_Excel_Exit
End Function

答案 1 :(得分:0)

此解决方案对我非常有帮助。稍加修改,它对我有用。谢谢你们。我需要帮助将过滤器应用于报表,然后将过滤后的值用作学科(光盘)值。

Function exportPDF()

On Error GoTo exportPDF_Err

   Dim Report_Names() As String
   Dim MyReport As String
   Dim networkPath As String
   Dim LDate As String
   Dim LYear As Integer
   Dim LMonth As Integer
   Dim LDay As Integer
   Dim Discipline As String

   MyExport = Reports!rptCurrentWK
   LDate = Date
   LYear = Year(LDate)
   LMonth = Month(LDate)
   LDay = Day(MyExport!WEdate)
   Disc = MyExport!Discipline.Value


   networkPath = "C:\Users\MSS\Drive\Timesheets\Access Export\"

   exportPath = networkPath & "Timesheet-" & Disc & "_WE_" & LYear & 
   "-" & LMonth & "-" & LDay & ".PDF"

  DoCmd.OutputTo acOutputReport, "rptCurrentWK", "PDFFormat(*.pdf)", exportPath, 
  False, "", , acExportQualityPrint

   exportPDF_Exit:
    Exit Function

   exportPDF_Err:
    MsgBox Error$
    Resume exportPDF_Exit
   End Function