![]() |
|
|
|
#1
|
|||
|
|||
|
I need for a certain macro (which I have already written) to be called and executed each time I enter a space while typing my WORD document, i.e. when I press the spacebar. I guess what I need is another previous macro, or a line of code somewhere. In EXCEL, I suppose, it could be some code for Worksheet_Change(ByVal Target As Range) beginning with “IF… then”. But in WORD? Thanks for any help ACA |
|
#2
|
||||
|
||||
|
Hi ACA,
Word has no 'space' event from which to trigger such a macro. If you describe what you're trying to achieve, perhaps another approach can be suggested.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
Thank you, Paul. What I’m trying to achieve is this:
That, while I’m typing my text in Word, an existing macro be called and executed each time I type in a given character as part of the text itself. If that is not possible in WORD (as it would be in EXCEL), I cannot think of another approach, for I know very little about the resources of VBA for WORD. But perhaps you yourself, knowing what those resources are, could suggest another possible way to achieve what I just explained I need. Would you be so kind? In any case, thanks very much for replying and for your help so far. ACA |
|
#4
|
|||
|
|||
|
Another hint:
For my purpose it will also do if the macro is called -not necessarily by the entering of a given character, -but also if it is triggered by some other event which is part of my typing in the text document in WORD, -like, say, every nth word entered, or every nth keystroke. Does that suggest any new possibilites? Thanks for just considering, anyway. ACA |
|
#5
|
||||
|
||||
|
Hi ACA,
It's still not clear what you're trying to achieve (ie what is the macro supposed to do). Depending on what your goal is, it might be achievable via Word's Autotext facility. You don't need any vba for this. Word's Autotext facility allows you to type a string and Word will automatically replace that with another string (which could be a whole page of text, for example) and/or graphics. See Word's help file for details.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#6
|
|||
|
|||
|
Thank you Paul.
No, it’s not something Word’s AutoText can do. It’s this: I do translations. For that I keep two Word documents open, Doc.1 (on which I type my translation) and Doc.2 (with the original). My macro does this: - It goes to the original text, picks a chunk, say15 words, and pastes that on my doc.1. - When I’ve translated that chunk (by overtyping the original) I execute the macro again and it goes, picks the next 15 words and adds them to my doc.1, and so on. - Besides, on the original Doc.2, it turns a different color the part of the text already done, so if I need to check something it is easy for my eyes to fall near the spot I’ve reached. Here’s the code: Code:
Windows("Doc.2").Activate
Selection.MoveRight Unit:=wdWord, Count:=15, Extend:=wdExtend
Selection.Copy
Selection.Font.Color = wdColorBlue
Selection.MoveRight Unit:=wdCharacter, Count:=1
Windows("Doc.1").Activate
Selection.PasteAndFormat (wdPasteDefault)
Selection.MoveLeft Unit:=wdWord, Count:=15
Overtype = Overtype
Thank you again for your interest. ACA |
|
#7
|
||||
|
||||
|
Hi ACA,
You could possibly use a macro like the following. It goes though all sentences in the document, asking for you to translate them. If you edit or leave a given sentence alone, the next sentence is selected. Pressing cancel exits the macro. Code:
Sub Translation_Assistant()
Dim Rng As Range, Rslt
With ActiveDocument
For Each Rng In .Sentences
With Rng
.MoveEndWhile Cset:=" ", Count:=wdBackward
.End = .End - 1
.Select
If .Style <> "Trans" Then
Rslt = InputBox("Please translate this sentence.", "Sentence translation", .Text)
If Rslt = vbNullString Then Exit Sub
.Text = Rslt
.Style = "Trans"
End If
End With
Next
End With
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#8
|
|||
|
|||
|
Paul, I tank you very warmly for your effort and your insistence in following my query to this point.
Your approach is very new to me, but clever and knowledgeable, and works all right. Thanks again. Bless you. Aca |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to link an action on one slide on a powerpoint with the same action on another | slevinmj | PowerPoint | 0 | 02-24-2011 05:38 AM |
| Re-Calling Sent Email | freschij | Outlook | 1 | 12-06-2010 09:16 PM |
| Change Action Setting Path | gskelton | PowerPoint | 0 | 02-27-2010 03:20 PM |
| calling images with a button | sammer021486 | PowerPoint | 0 | 01-13-2010 08:24 AM |
| Highlighted Selection on Action Settings | mos7sad | PowerPoint | 0 | 10-12-2009 07:48 AM |