Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
ben ben is offline
external usenet poster
 
Posts: 67
Default GetObject method not work after Call Shell Method

Trying to grab a reference to Outlook.
I first use the Getobject(,"Outlook.Application") method, this works if
outlook is open but if's it's not, I use Call Shell("dir string") to open
Outlook then use GetObject again to attempt to grab reference. This does not
work. Outlook will open, and be running fine, but VBA refuses to acknowledge
it being open, UNLESS I step through the code.
it's almost like it reads the State of office apps before it runs and will
not change that state unless, i step through, ie... It says outlook is open
and won't recheck, even if it is opened by code.
I can not use CreateObject for the last service pack microsoft released
killed that function for outlook.
any thoughts?





--
When you lose your mind, you free your life.
Ever Notice how we use '' for comments in our posts even if they aren''t
expected to go into the code?
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default GetObject method not work after Call Shell Method


Perhaps something like this will work:

set obj = Getobject(,"Outlook.Application")
if obj is Nothing then
Call Shell("dir string")
do
Doevents
set obj = Getobject(,"Outlook.Application")
Loop while obj is nothing
End if


--
Regards,
Tom Ogilvy



"ben" (remove this if mailing direct) wrote in
message ...
Trying to grab a reference to Outlook.
I first use the Getobject(,"Outlook.Application") method, this works if
outlook is open but if's it's not, I use Call Shell("dir string") to open
Outlook then use GetObject again to attempt to grab reference. This does

not
work. Outlook will open, and be running fine, but VBA refuses to

acknowledge
it being open, UNLESS I step through the code.
it's almost like it reads the State of office apps before it runs and will
not change that state unless, i step through, ie... It says outlook is

open
and won't recheck, even if it is opened by code.
I can not use CreateObject for the last service pack microsoft released
killed that function for outlook.
any thoughts?





--
When you lose your mind, you free your life.
Ever Notice how we use '' for comments in our posts even if they aren''t
expected to go into the code?



  #3   Report Post  
Posted to microsoft.public.excel.programming
ben ben is offline
external usenet poster
 
Posts: 67
Default GetObject method not work after Call Shell Method

didn't do quite what i expected but doevents definitely changed things up a
bit. I think I can work through it now.
Thanks again Tom

--
When you lose your mind, you free your life.
Ever Notice how we use '' for comments in our posts even if they aren''t
expected to go into the code?


"Tom Ogilvy" wrote:


Perhaps something like this will work:

set obj = Getobject(,"Outlook.Application")
if obj is Nothing then
Call Shell("dir string")
do
Doevents
set obj = Getobject(,"Outlook.Application")
Loop while obj is nothing
End if


--
Regards,
Tom Ogilvy



"ben" (remove this if mailing direct) wrote in
message ...
Trying to grab a reference to Outlook.
I first use the Getobject(,"Outlook.Application") method, this works if
outlook is open but if's it's not, I use Call Shell("dir string") to open
Outlook then use GetObject again to attempt to grab reference. This does

not
work. Outlook will open, and be running fine, but VBA refuses to

acknowledge
it being open, UNLESS I step through the code.
it's almost like it reads the State of office apps before it runs and will
not change that state unless, i step through, ie... It says outlook is

open
and won't recheck, even if it is opened by code.
I can not use CreateObject for the last service pack microsoft released
killed that function for outlook.
any thoughts?





--
When you lose your mind, you free your life.
Ever Notice how we use '' for comments in our posts even if they aren''t
expected to go into the code?




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,253
Default GetObject method not work after Call Shell Method


no need to shell, and no need for doevents.
i think Tom's code is missing the CreateObject call.

Iso using a module level object variable I've wrapped it in a
STATIC function, so it can be easily called troughout your other code.

Option Explicit

Static Function olApp() As Object
Dim oApp As Object

If oApp Is Nothing Then
On Error Resume Next
Set oApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If oApp Is Nothing Then
Set oApp = CreateObject("Outlook.Application")
End If
End If
Set olApp = oApp
End Function

Sub foo()
With olApp
.GetNamespace("MAPI").GetDefaultFolder(6).Display
End With
End Sub



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


ben wrote in

didn't do quite what i expected but doevents definitely changed
things up a bit. I think I can work through it now.
Thanks again Tom

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default GetObject method not work after Call Shell Method

Guess you missed where he said createobject for Outlook had been disabled by
Microsoft:

I can not use CreateObject for the last service pack microsoft released
killed that function for outlook.


--
Regards,
Tom Ogilvy


"keepITcool" wrote in message
.com...

no need to shell, and no need for doevents.
i think Tom's code is missing the CreateObject call.

Iso using a module level object variable I've wrapped it in a
STATIC function, so it can be easily called troughout your other code.

Option Explicit

Static Function olApp() As Object
Dim oApp As Object

If oApp Is Nothing Then
On Error Resume Next
Set oApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If oApp Is Nothing Then
Set oApp = CreateObject("Outlook.Application")
End If
End If
Set olApp = oApp
End Function

Sub foo()
With olApp
.GetNamespace("MAPI").GetDefaultFolder(6).Display
End With
End Sub



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


ben wrote in

didn't do quite what i expected but doevents definitely changed
things up a bit. I think I can work through it now.
Thanks again Tom





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default GetObject method not work after Call Shell Method

Ben might also look at the ErrorHandler in this, just in case even Shell
doesn't work

http://support.microsoft.com/?scid=kb;en-us;238610

Regards,
Peter T

"Tom Ogilvy" wrote in message
...
Guess you missed where he said createobject for Outlook had been disabled

by
Microsoft:

I can not use CreateObject for the last service pack microsoft released
killed that function for outlook.


--
Regards,
Tom Ogilvy


"keepITcool" wrote in message
.com...

no need to shell, and no need for doevents.
i think Tom's code is missing the CreateObject call.

Iso using a module level object variable I've wrapped it in a
STATIC function, so it can be easily called troughout your other code.

Option Explicit

Static Function olApp() As Object
Dim oApp As Object

If oApp Is Nothing Then
On Error Resume Next
Set oApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If oApp Is Nothing Then
Set oApp = CreateObject("Outlook.Application")
End If
End If
Set olApp = oApp
End Function

Sub foo()
With olApp
.GetNamespace("MAPI").GetDefaultFolder(6).Display
End With
End Sub



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


ben wrote in

didn't do quite what i expected but doevents definitely changed
things up a bit. I think I can work through it now.
Thanks again Tom





  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,253
Default GetObject method not work after Call Shell Method

Yep missed

Extensive googling didn't find any indication that Microsoft has
disabled this in a recent release or SP, and frankly it would surprise
me.

Posts by Sue Mosher (Outlook MVP) suggest it's more likely
an antivirus program blocking access to scripting.



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Tom Ogilvy wrote in

Guess you missed where he said createobject for Outlook had been
disabled by Microsoft:

I can not use CreateObject for the last service pack microsoft
released killed that function for outlook.

  #8   Report Post  
Posted to microsoft.public.excel.programming
ben ben is offline
external usenet poster
 
Posts: 67
Default GetObject method not work after Call Shell Method

actually what happens, i've studied this quite a bit, is that automation was
turned off for outlook as the Registry Key taht provides for outlook was
deleted, and Outlook no longer supports the /regserver switch, microsoft.com
KB provided that information for me. I looked up the automation registry key
on microsoft.com and it no longer exists for Outlook, though all other office
applications still work fine.
--
When you lose your mind, you free your life.
Ever Notice how we use '' for comments in our posts even if they aren''t
expected to go into the code?


"keepITcool" wrote:

Yep missed

Extensive googling didn't find any indication that Microsoft has
disabled this in a recent release or SP, and frankly it would surprise
me.

Posts by Sue Mosher (Outlook MVP) suggest it's more likely
an antivirus program blocking access to scripting.



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Tom Ogilvy wrote in

Guess you missed where he said createobject for Outlook had been
disabled by Microsoft:

I can not use CreateObject for the last service pack microsoft
released killed that function for outlook.


  #9   Report Post  
Posted to microsoft.public.excel.programming
ben ben is offline
external usenet poster
 
Posts: 67
Default GetObject method not work after Call Shell Method

thanks peter, oddly enough the workaround they gave is exactly what i had to
end up doing.

--
When you lose your mind, you free your life.
Ever Notice how we use '' for comments in our posts even if they aren''t
expected to go into the code?


"Peter T" wrote:

Ben might also look at the ErrorHandler in this, just in case even Shell
doesn't work

http://support.microsoft.com/?scid=kb;en-us;238610

Regards,
Peter T

"Tom Ogilvy" wrote in message
...
Guess you missed where he said createobject for Outlook had been disabled

by
Microsoft:

I can not use CreateObject for the last service pack microsoft released
killed that function for outlook.


--
Regards,
Tom Ogilvy


"keepITcool" wrote in message
.com...

no need to shell, and no need for doevents.
i think Tom's code is missing the CreateObject call.

Iso using a module level object variable I've wrapped it in a
STATIC function, so it can be easily called troughout your other code.

Option Explicit

Static Function olApp() As Object
Dim oApp As Object

If oApp Is Nothing Then
On Error Resume Next
Set oApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If oApp Is Nothing Then
Set oApp = CreateObject("Outlook.Application")
End If
End If
Set olApp = oApp
End Function

Sub foo()
With olApp
.GetNamespace("MAPI").GetDefaultFolder(6).Display
End With
End Sub



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


ben wrote in

didn't do quite what i expected but doevents definitely changed
things up a bit. I think I can work through it now.
Thanks again Tom






Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Why QUIT method doesn't work after COPY method? surotkin Excel Programming 3 October 26th 05 04:32 PM
How do I call a method in VB from Excel with JUST code? Doseeson Excel Programming 2 May 28th 05 12:26 AM
How do I call a method in VB from Excel with JUST code? K Dales[_2_] Excel Programming 0 May 27th 05 09:57 PM
GetObject method from excel to other application from remote server sandra mangunsong via OfficeKB.com Excel Programming 1 February 24th 05 08:13 PM
Shell Method David Hall[_6_] Excel Programming 1 February 12th 05 09:50 PM


All times are GMT +1. The time now is 12:30 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"