Activate Word without starting new Word instance

L

Larry

I would be great to find a way to activate Word without starting a new
Word instance. I think I asked about this a year or two ago, and didn't
get anywhere. Any ideas?
 
G

glee

What do you mean by "activate Word"?
Have you tried asking this on a Word or Office forum, since it appears to be a Word
question, not a Windows question?
 
J

Jezebel

If you mean from VB, there are two methods --

1) Late binding

Dim wrdApp as object
On error resume next
Set wrdApp = GetObject("Word.Application")
If wrdApp is nothing then
.... Word was not running .... no instance to get


or 2) Early binding

Dim wrdApp as Word.Application
On error resume next
Set wrdApp = Word.Application
If wrdApp is nothing then
.... Word was not running .... no instance to get
 
L

Larry

Since my question involves both Word and the Windows envionment, I cross
posted to a Word vba group, which you might have noticed if you had
looked at the To line.

To activate means to bring a minimized or inactive window to the fore,
so that it becomes the active window. This is different from opening a
window or a program, which means starting up a program that is closed.
 
L

Larry

Thanks Jezebel.

Since it is possible from the Run dialog box to start Word and run a
macro in one step, I'm thinking that if, with Word open but not active,
I ran the macro I'm looking for, I could get a macro that activated the
open Word window without opening a second instance of Word.

However, when I create a macro in Normal called WordActivate using the
code you suggested,

Dim wrdApp as object
On error resume next
Set wrdApp = GetObject("Word.Application")

and (with Word open but not active) run this in the Run dialog box:

Winword.exe /mWordActivate

A second instance of Word opens.

The same happens when I put the other set of code in WordActivate.

Any other ideas? Thanks much.

Larry
 
J

Jezebel

This makes no sense at all. Macros are located within a Word module, so you
have to instantiate Word to run them. The code I offered is for VB not VBA.
 
J

Jeff Richards

Why wouldn't you just click on the icon in the taskbar? There's no need to
use VBA to do this, so I don't understand why you would ask this in a VBA
newsgroup.

Or are you trying to write a WORD macro that will activate a minimized
Window? In that case, what is the event or action that you are going to use
in order to know when this should happen?
 
J

Jonathan West

If you want to get hold of an existing instance of Word, then you should use
GetObject as Jezebel described to get an object reference to it. Then you
can use the Run method of the Word Application object to run the macro.
 
G

glee

In Windows, making an open window the active window is usually called putting the
window in "focus". That is the same for all open windows. You are not trying to
"activate Word" (which is a program); you are trying to make active an open window.
it helps if you make clear what you are trying to do, in the first place.

As Jeff asked, why aren't you just clicking the taskbar button to toggle focus on
the window? Apparently you are trying to use a macro for some reason, and that is
outside the scope of this group, so I fail to see why you think crossposting it to a
win98 group was necessary.

Good luck......it look like the people in the vba group are setting you straight.
 
L

Larry

All I really want is to be able, using a single keystroke not the mouse,
to bring the focus to the already open Word window. Not using Alt+Tab,
not using the Mouse to click on the task bar button, but to use a
keystroke that perhaps runs a .vbs file that makes the open Word
instance the active window.

I'm constantly going back and forth between Word and other application
windows, and I want an instant, keyboard-oriented, one-step way of
returning to the Word window.

Larry
 
F

fumei

There are LOTS of keyboard mappers out there. It seems to me, from your last
post, that is what you want. A single keystroke to get back to Word.

Trying to do this with ONE keystroke (not some Ctrl-keycharacter,
Alt-keycharacter combination - not much different from using Alt-Tab, or your
mouse) via code...well, no offence, but it seems, especially with the amount
of keystrokes written into this thread, a large amount of work for little
return.

Find a key mapper.
 
L

Larry

Of course. By "keystroke" I mean a single key combination, such as
Ctrl+X, or Winkey plus W, or whatever.

But the issue is not the particular keyboard configuation; the issue is
finding a single command that puts' Windows' focus on the current open
Word instance without my having to tab through a bunch of alt+tab steps
and so on.

Larry
 
G

Gary S. Terhune

Would take a script to do that. Then make a shortcut to that, then
assign a keystroke combo to that. Question: What does the Script do when
there's two instances of Word open?
 
L

Larry

Well, I almost never have two instances of Word open, so that's not an
issue.

But if there's a .vbs script to do this (bring focus to the Word window
without opening a new instance of Word), I would love to find it.

Larry
 
G

Gary S. Terhune

I don't know of one already in existence, I'm just fairly certain I can
do it. When I get a breather, here, I'll see what I can come up with.
I'll also see if I can come up with a way to handle the
more-than-one-instance-of-Word issue.

I don't post scripts here. Scripts as attachments are very frowned upon,
even if they have a TXT extension, and code that can't be allowed to
wrap usually gets wrapped by newsreaders if I include it in the body,
making it worthless. So email me, to verify your address.

Which brings up the subject that I neglected last time I responded to
you. Using your real email address in newsgroups invites tons of SPAM,
both the harmless but annoying kind and the very dangerous kind. Email
addresses in public forums also get used as "From" addresses by bots
that spread SPAM and viruses. You only know this is happening when you
start getting Bounce notices regarding viruses in emails you never sent
to people you don't know. It's too late, now, for the address you're
using here, but your might want to consider changing your address and
putting this one to rest. Newsgroup accounts permit using fake
addresses. Trick is to not use one that *could_be* someone's real
address. Take a look around at some of the other posts here for
examples. Me, I use a real address so people can contact me via email if
they really have to--but I use it *only* for NG posting and put up with
the related inconvenience as a public service.
 
L

Larry

Ok, I'll send you my e-mail address (but couldn't you just copy the code
of the .vbs file into a news message?).
..
As for using a fake address in the newsgroups, I thought I had changed
it to a fake address some time back, but I guess it didn't take. I'll
have to look again into how this is done using OE6.

Thanks,
Larry
 
G

Gary S. Terhune

Larry said:
Ok, I'll send you my e-mail address (but couldn't you just copy the code
of the .vbs file into a news message?).

Because most news readers wrap text to ~80 characters, and insert line
returns. If a line ends up being 110 characters, it will wrap, and how
will you know where it's wrapping said:
.
As for using a fake address in the newsgroups, I thought I had changed
it to a fake address some time back, but I guess it didn't take. I'll
have to look again into how this is done using OE6.

If your fake address is that one that shows above, then it isn't fake
enough. Someone in this world might actually have larry328 at att.net as
their real address. A proper munged address is one that is poorly
formed--that can't possibly be a real address.
 
L

Larry

On the fake address, I've just redone it, by going into Tools, Accounts
and changing the e-mail address under the default news account. Hope
that works.

Larry
 
G

Gary S. Terhune

Works fine--but if the previous was your real address, then its already
on tons of lists. If it was someone else's address, then you have
apologies to make, <s>.
 

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