Jump to content

Recommended Posts

Posted

Hi,

I am using the Excel UDF to open an Excel file and run some marco. However if I use the open function, the Add-in I need won't be loaded.

I checked basically if I use the ObjCreate("Excel.Application") method, Add-in won't be loaded when Excel start.

Could you please suggest what can I do to open Excel with Add-in loaded.

I tried the shellexecute("excel.exe","","","open" ) method. It works in some PC but not all. And I don't know why it fail.

Many thanks

Posted

Here's the basic idea:

$sAddIn = "C:\Path\add_in.xla" ; Change this to the filepath of your AddIn

$oExcel = ObjCreate("Excel.Application")
$oExcel.WorkBooks.Add
$oAddIn = $oExcel.AddIns.Add($sAddIn)
$oAddIn.Installed = True
$oExcel.Quit

Run this one time. Now anytime you start Excel, your AddIn will be available.

-S

(Yet Another) ExcelCOM UDF"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly...[indent]...specialization is for insects." - R. A. Heinlein[/indent]
Posted

Here's the basic idea:

$sAddIn = "C:\Path\add_in.xla" ; Change this to the filepath of your AddIn

$oExcel = ObjCreate("Excel.Application")
$oExcel.WorkBooks.Add
$oAddIn = $oExcel.AddIns.Add($sAddIn)
$oAddIn.Installed = True
$oExcel.Quit

Run this one time. Now anytime you start Excel, your AddIn will be available.

-S

Hi Locodarwin, thanks for your reply.

I tried the following:

a.au3

$sAddIn = "H:\prog\essxleqd.xla"

$oExcel = ObjCreate("Excel.Application")

$oExcel.WorkBooks.Add

$oAddIn = $oExcel.AddIns.Add($sAddIn)

$oAddIn.Installed = True

$oExcel.Quit

b.au3

$oExcel = ObjCreate("Excel.Application")

$oExcel.Visible = 1

$oExcel.WorkBooks.Add

$oExcel.WorkBooks.Open("H:\Balance_Inquiry.xls")

I ran a.au3 first. Then I run b.au3. However the add-in is not loaded when I run b.au3.

Then I try:

c.au3

$sAddIn = "H:\prog\essxleqd.xla"

$oExcel = ObjCreate("Excel.Application")

$oExcel.Visible = 1

$oExcel.WorkBooks.Add

$oAddIn = $oExcel.AddIns.Add($sAddIn)

$oAddIn.Installed = True

$oExcel.WorkBooks.Open("H:\Balance_Inquiry.xls")

The add-in loaded in this case. However, everytime I run it, it ask me if I want to copy the addin to the Addin directory. If I say yes, then it ask the file is already there, do I want to overwrite it. If I say no, it failed.

And this prevent me from automate the process. Any thought?

Thanks again.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...