Solved

Access running a Excel personal macro

Posted on 2013-06-18
2
1,484 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
Comment Utility
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
Comment Utility
Thanks!!  Worked!!
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Join & Write a Comment

We were having a lot of "Heartbeat Alerts" in our SCOM environment, now "Heartbeat" in a SCOM environment for those of you who might not be familiar with SCOM is a packet of data sent from the agent to the management server on a regular basis, basic…
Lync meeting or Lync conferencing is what many organizations would like to deploy to allow them save money. But companies are now giving up for various reasons, one of which is that they cannot join external meetings (non-federated company meetings)…
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

743 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

17 Experts available now in Live!

Get 1:1 Help Now