I've recently moved to Vista but one of my scripts that was using
office 2007 no longer wants to work. I was hoping someone could shed
some light on this.
I'm calling the excel application
$xl = new-object -comobject "excel.application"
Then try to add a new workbook
$xl.workbooks.add()
and get this error:
Exception calling "Add" with "0" argument(s): "Old format or invalid
type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
any ideas?
Cheers,
Neil
--
Brandon Shell
---------------
Stop by my blog some time :)
Blog: http://www.bsonposh.com/
PSH Scripts Project: www.codeplex.com/psobject
--------------------------------------
"n3llyb0y" <n3ll...@aol.com> wrote in message
news:2007030909483416807-n3llyb0y@aolcom...
> Worked for me. I dont have office on my x64 Vista so I cant try that...
> are you running x64?
No, not using x64.
So it worked on your x86 setup? I think I'll go ahead and re-install
powershell and office.
Thanks for confirming :-)
n
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1)= "Computer"
objExcel.Cells(1, 2)= "OU"
works when run in vbscript
--
Richard Siddaway
Please note that all scripts are supplied "as is" and with no warranty
Blog: http://richardsiddaway.spaces.live.com/
PowerShell User Group: http://www.get-psuguk.org.uk
"RichS" <Ri...@discussions.microsoft.com> wrote in message
news:889BAE28-C125-4A51...@microsoft.com...
As vbscript works OK - it suggests the interop isn't registered correctly
--
Richard Siddaway
Please note that all scripts are supplied "as is" and with no warranty
Blog: http://richardsiddaway.spaces.live.com/
PowerShell User Group: http://www.get-psuguk.org.uk
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=168710&SiteID=1
look at the bottom posting in the thread. I'm just going to test it
--
Richard Siddaway
Please note that all scripts are supplied "as is" and with no warranty
Blog: http://richardsiddaway.spaces.live.com/
PowerShell User Group: http://www.get-psuguk.org.uk
have a look at this KB article
http://support.microsoft.com/default.aspx?scid=kb;en-us;320369
The problem is the culture the machine is set to. I'm in the UK so have
en-GB - that clashes with Excel's en-US so won't work. I've chnaged all my
location info to US and it now works. $host.currentculture shows en-US
the code
$xl = New-Object -comobject "excel.application"
$xl.workbooks.add()
now works. Brandon - I think you are US based so thats why it worked.
Fix is to install MUI pack or to modify code in KB article for powershell.
Easiest is to use MUI
--
Richard Siddaway
Please note that all scripts are supplied "as is" and with no warranty
Blog: http://richardsiddaway.spaces.live.com/
PowerShell User Group: http://www.get-psuguk.org.uk
"RichS" <Ri...@discussions.microsoft.com> wrote in message
news:2954C28A-B83A-44C7...@microsoft.com...
$xl = New-Object -comobject "excel.application"
$xl.visible = $true
$xlbooks =$xl.workbooks
$newci = [System.Globalization.CultureInfo]"en-US"
$xlbooks.PSBase.GetType().InvokeMember("Add",
[Reflection.BindingFlags]::InvokeMethod, $null, $xlbooks, $null, $newci)
Thanks Adam I'd been really struggling with the last bit.
--
Richard Siddaway
Please note that all scripts are supplied "as is" and with no warranty
Blog: http://richardsiddaway.spaces.live.com/
PowerShell User Group: http://www.get-psuguk.org.uk