Addin instalalltion throught a vbscript

D

Desaivres Alain

Hi - I am afraid I need some help

Here is the script I am running for an Addin installation and unfortunately
the Excel object created do not dissapear after putting it to nothing... I am
then obije to kill it and the installation is not done...

Here is my script... the xla file is suposed to be already available...

Set appXL = CreateObject("Excel.Application")
Set objFileToInstall = oFSO.GetFile(objTargetFolder & "\" & file.name)
For Each objAddin In appXL.Application.addins
If objAddin.name = ObjFileToInstall.Name then
If Not objAddin.installed Then
On Error Resume next
objAddin.installed = True
If Err <> 0 Then
WScript.Echo " ... " & "Err.description: " & Err.Description
Else
WScript.Echo " ... " & objAddin.name & " installed..."
End If
Else
WScript.Echo " ... " & objAddin.name & " already installed..."
End If
End If
Next
Set appXL = Nothing

Everything run properly except the "objAddin.installed = True" instruction
I have also tried
"appXL.Application.Addins.Adds(objFileToInstall.name)"
then
"appXL.application.Addins(objFileToInstall.name).installed = true
But not working neither...

Thanks for your help
Alain
 
D

Desaivres Alain

In addition...

Assuming the file function.xla is already available in the default Addin
folder
If I run those lines in my script
Set appXL = CreateObject("Excel.Application")
appXL.Application.Addins.Add("addin.xla").Installed = True

I get this error
Err.description: Unable to get the Add property of the AddIns class

Any idea ? Does it mean the Addin collection cannot b manipulated into
vbscript ?

Thanks
Alain
 
B

Bob Phillips

See if this works

Set appXL = CreateObject("Excel.Application")
Set objFileToInstall = oFSO.GetFile(objTargetFolder & "\" & file.name)
For Each objAddin In appXL.Application.addins
If objAddin.name = ObjFileToInstall.Name then
If Not objAddin.installed Then
On Error Resume next
objAddin.installed = False
objAddin.installed = True
If Err <> 0 Then
WScript.Echo " ... " & "Err.description: " & Err.Description
Else
WScript.Echo " ... " & objAddin.name & " installed..."
End If
Else
WScript.Echo " ... " & objAddin.name & " already installed..."
End If
End If
Next
Set appXL = Nothing
appXL.Quit
 
D

Desaivres Alain

Another additional information

If the Addin is already installed... the simple fact to run thos lines
create an Excel process that do not close... then I need to kill it through
task manager

Lines

Set appXL = CreateObject("Excel.Application")
If appXL.Application.Addins("addin.xla").Installed = True then
End if
set appXL = Nothing

As if the simple fact to manipulate the Addins collection was producing the
fact the Excel.exe do not close any more...

Thanks
Alain
 
B

Bob Phillips

Sorry those last two lines were the wrong way around


appXL.Quit
Set appXL = Nothing
 
G

Gary Brown

How about something simple like....

application.addins.add objTargetFolder & "\" & file.name
 
D

Desaivres Alain

Fantastic those two lines are the solution !!!
Great // Thanks to you // Alain

appXL.Quit
Set appXL = Nothing
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top