Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / database / SQL-Server

Execute Access 2003 Macros in SSIS Package

2.33/5 (2 votes)
29 Dec 2006 2  
Execute Access 2003 Macros in SSIS Package. How to call Access Macros in SSIS Package

Note: Change the Security Level for Access Macro, otherwise whenever the SSIS package
executes, it will popup a Security Warning Message. To avoid this, follow the instructions:
Open Access -- > Tools --> Macro --> Security
Click Security and change to Low Level.

Introduction

Basically to execute Access Macros in SSIS package, we need to download Microsoft.Office.Interop.Access DLL from Office XP PIAs. The file can be downloaded from the link at the top of this article.

Using the code

  1. Extract the Microsoft.Office.Interop.Access DLL from Oxppia.exe
  2. Drag and Drop Microsoft.Office.Interop.Access DLL to Global Assembly Directory(GAC)
    • C:\WINNT\assembly for Windows 2000
    • C:\WINDOWS\assembly for Windows XP and Windows 2003
  3. Copy paste Microsoft.Office.Interop.Access to
    • C:\WINNT\Microsoft.NET\Framework\v2.0.50727 for Windows 2000
    • C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 for Windows XP and Windows 2003
  4. Add DLL reference in the Script Task
  5. Add the code given below
  6. Create a New Project in SSIS
  7. Drag and Drop the Script Task
  8. Copy Paste the code in script task editor

VB.NET
Imports Microsoft.Office.Interop.Access

Try
    Dim objAccess As New Access.Application
    objAccess.OpenCurrentDatabase("D:\TestMacro.mdb", False)    
        ' Add the Access File Path
    objAccess.DoCmd.RunMacro("Macro1") 
        ' Replace  Macro1 with the name of your macro
    objAccess.CloseCurrentDatabase()
    objAccess.Quit(Access.AcQuitOption.acQuitSaveNone)
    objAccess = Nothing
    Catch ex As Exception
    System.Windows.Forms.MessageBox.Show(ex.ToString())
End Try

Dts.TaskResult = Dts.Results.Success

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here