Solved

Access running a Excel personal macro

Posted on 2013-06-18
2
1,518 Views
Last Modified: 2013-06-18
Hello Experts,

Hoping someone can help me.

I have Access 2007 and using a VBA script to:

1.  Export sales data to an Excel sheet to drive c:\SalesUpdateNew.xlsx
2.  Open PERSONAL.XLSB, which contains the macros I need to run in SalesUpdateNew.xlsx

THe VBA is opening the PERSONAL.XLSB and SalesUpdateNew.xlsx but failing to run the PERSONAL.XLSB macro in SalesUpdateNew.xlsx.

When run using the VBA the macros don't show in "All open Workbooks" in the SalesUpdateNew.xlsx workbook". They do show in PERSONAL.XLSB.   When I manually open SalesUpdateNew.xlsx, it works. What am I missing in my code?

Private Sub Command0_Click()
Dim x2 As Object
Dim x3 As Object


DoCmd.RunMacro "Export Sales Update2"   ' Export sales data excel workbook (SalesUpdateNew.xlsx) to c:\

       
    Call WaitFor(5) ' Wait 5 seconds
       Set x2 = CreateObject("Excel.Application")
       x2.Workbooks.Open ("C:\Documents and Settings\USER\Application Data\Microsoft\Excel\XLSTART\PERSONAL.XLSB")
       x2.Visible = True
        
    Call WaitFor(5) ' Wait 5 seconds
      Set x3 = CreateObject("Excel.Application")
       x3.Workbooks.Open ("C:\SalesUpdateNew.xlsx")
       x3.Visible = True
       x3.Application.Run "Personal.xlsb:SalesUpdate"

End Sub

Open in new window


Thanks!
0
Comment
Question by:CompTech810
2 Comments
 
LVL 85

Accepted Solution

by:
Rory Archibald earned 200 total points
ID: 39256629
You're running different instances of Excel so personal.xlsb is not available in the second one. Try this:
Private Sub Command0_Click()
Dim x2 As Object
Dim x3 As Object


DoCmd.RunMacro "Export Sales Update2"   ' Export sales data excel workbook (SalesUpdateNew.xlsx) to c:\

       
    Call WaitFor(5) ' Wait 5 seconds
       Set x2 = CreateObject("Excel.Application")
       x2.Workbooks.Open ("C:\Documents and Settings\USER\Application Data\Microsoft\Excel\XLSTART\PERSONAL.XLSB")
       x2.Visible = True
        
    Call WaitFor(5) ' Wait 5 seconds
       x2.Workbooks.Open "C:\SalesUpdateNew.xlsx"
       x2.Run "Personal.xlsb!SalesUpdate"

End Sub

Open in new window

0
 
LVL 2

Author Closing Comment

by:CompTech810
ID: 39256662
Thanks!!  Worked!!
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Some code to ensure data integrity when using macros within Excel. Also included code that helps secure your data within an Excel workbook.
Excel can be a tricky bit of software to get your head around. Whilst you’ll be able to eventually get to grips with the basic understanding of how to get by, there are a few Excel tips that not everybody will even know about let alone know how to d…
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

816 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now