HighTechTalks DotNet Forums  

RE: Attach to all running Excel processes

Dotnet Framework (Interop) microsoft.public.dotnet.framework.interop


Discuss RE: Attach to all running Excel processes in the Dotnet Framework (Interop) forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Walter Wang [MSFT]
 
Posts: n/a

Default RE: Attach to all running Excel processes - 06-05-2007 , 01:53 AM






Hi,

Please see this KB on related information:

#How to use Visual C# to automate a running instance of an Office program
http://support.microsoft.com/kb/316126
<quote>
Whether a COM server is Single Use (Multiple Instances) or Multiuse (Single
Instance) might affect your decision to use GetActiveObject to get
reference to that server. Because potentially more than one instance of
Word, Excel, or Microsoft Access can be running, GetActiveObject on a
particular server may return an instance that you did not expect. The
instance that is first registered in the ROT is typically the instance that
is returned by GetActiveObject. If you want to get an Automation Reference
to a specific running instance of Word, Excel, or Microsoft Access, use
BindToMoniker with the name of the file that is opened in that instance.
</quote>

In summary, using GetActiveObject can only get you one instance; you will
need to know a file name before hand to use BindToMoniker to get a specific
instance.

Could you please tell me why you need to know all running instances of
excel? Thanks.



Sincerely,
Walter Wang (wawang (AT) online (DOT) microsoft.com, remove 'online.')
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications. If you are using Outlook Express, please make sure you clear the
check box "Tools/Options/Read: Get 300 headers at a time" to see your reply
promptly.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.


Reply With Quote
  #2  
Old   
Walter Wang [MSFT]
 
Posts: n/a

Default RE: Attach to all running Excel processes - 06-07-2007 , 10:46 PM






Hi,

Please feel free to let me know if there's anything else I can help. Thanks.


Regards,
Walter Wang (wawang (AT) online (DOT) microsoft.com, remove 'online.')
Microsoft Online Community Support

==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.


Reply With Quote
  #3  
Old   
Walter Wang [MSFT]
 
Posts: n/a

Default Re: Attach to all running Excel processes - 06-11-2007 , 08:34 AM



Hi jahrens,


Unfortunately it's not possible without knowing the document path first:

#How To Attach to a Running Instance of an Office Application
http://support.microsoft.com/kb/238975/

<quote>
Theoretically, you can iterate the ROT for each individual instance, but
Office applications do not register themselves if another instance is
already in the ROT because the moniker for itself is always the same, and
cannot be distinguished. This means that you cannot attach to any instance
except for the first. However, because Office applications also register
their documents in the ROT, you can successfully attach to other instances
by iterating the ROT looking for a specific document, attaching to this
document, and then getting the Application object from this document.
</quote>


I think you could create a new excel instance and export data there, then
let the user to copy the worksheet to other existing excel instances if
needed.


Regards,
Walter Wang (wawang (AT) online (DOT) microsoft.com, remove 'online.')
Microsoft Online Community Support

==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.


Reply With Quote
  #4  
Old   
Walter Wang [MSFT]
 
Posts: n/a

Default Re: Attach to all running Excel processes - 06-12-2007 , 08:48 AM



Hi jahrens,

Thanks for the update.

As the KB described, based on how Office currently uses the ROT and
moniker, I think your approach is the best one.

Please feel free to let me know if you have any other questions.

Have a nice day!


Regards,
Walter Wang (wawang (AT) online (DOT) microsoft.com, remove 'online.')
Microsoft Online Community Support

==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.


Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.