Excel VBA中的Access的另存为

时间:2019-02-21 20:13:42

标签: excel vba ms-access

在我的Excel工作簿中,我可以将Access数据库作为OLE对象附加。

我现在想将此对象(Access数据库)的副本保存在另一个文件夹中。

这是我的代码:

    If nameEnd = "ccdb" Then
        'Access Type

        Dim AccessApp As Object
        Dim obja As OLEObject

        Application.ScreenUpdating = False
        Set obja = ActiveSheet.OLEObjects(i)
        obja.Activate
        obja.Visible = True
        Set AccessApp = GetObject(, "Access.Application")
        AccessApp.CurrentDatabase.SaveAs FileName:=fpath & "AttachmentAccess"
        AccessApp.CurrentDb.ExportAsFixedFormat outputfilename:=saveFile & "Attachment DB", _
        ExportFormat:=accdbExportFormatPDF
        Set AccessApp = Nothing
        Range("K2:Z300").Select
        Application.ScreenUpdating = True
     End If

我收到错误消息“对象不支持此属性或方法”,可能是因为“ CurrentDatabase.SaveAs”作为属性不存在。

1 个答案:

答案 0 :(得分:0)

我认为您使用了错误的属性名称。

在下一行中编写时,它不是CurrentDatabase,而是CurrentDb。此外,该函数不称为SaveAs,而是MakeReplica。因此,请尝试以下操作:

AccessApp.CurrentDb.MakeReplica PathName:=fpath & "AttachmentAccess"