Consulting

Results 1 to 5 of 5

Thread: =lorem(1,1) and =rand(1,2) in macros won't update the display

  1. #1
    VBAX Regular
    Joined
    Dec 2015
    Posts
    9
    Location

    =lorem(1,1) and =rand(1,2) in macros won't update the display

    Hi, I'm trying to write a VBA macro to type "=lorem(1,5) <plus Enter>" into Word so that I don't have to type in the lorem string to generate the usual lorem text. If I type it in and press Enter, it gets replaced by the desired text. If I record a macro of my actions and run the macro, nothing happens until I type a space. Then the whole paragraph shows up. Same with the '=rand(2,5)' string.

    How can I change my macro to make it update the display (or run the macro after the string has been inserted into the buffer)? Thank you

    Selection.TypeText Text:="=rand(2,2)"
    Selection.TypeText Text:=vbCr

  2. #2
    VBAX Guru macropod's Avatar
    Joined
    Jul 2008
    Posts
    4,435
    Location
    Try:
    Sub Demo()
    SendKeys "=rand{(}2,2{)}" & vbCr
    End Sub
    Cheers
    Paul Edstein
    [Fmr MS MVP - Word]

  3. #3
    VBAX Regular
    Joined
    Dec 2015
    Posts
    9
    Location
    That works! Thank you so much.

    I wonder why I never thought of sending the keys; I suppose sending the final key is like the one that I type after inserting the macro. I will experiment with an insertion first and a final keystroke at the end. Thank you again for your help. Where would we all be without your expertise?

    UPDATE: Yes, doing the insertion by code (as shown in my original post) followed by a SendKeys operation works great. It's sending the trailing vbCr that gets word to expand the magic rand/lorem functions.

  4. #4
    VBAX Guru macropod's Avatar
    Joined
    Jul 2008
    Posts
    4,435
    Location
    Quote Originally Posted by kkkwj View Post
    doing the insertion by code (as shown in my original post) followed by a SendKeys operation works great. It's sending the trailing vbCr that gets word to expand the magic rand/lorem functions.
    I don't know why you'd bother with that circumlocution when the SendKeys code I posted does the lot in a single operation...
    Cheers
    Paul Edstein
    [Fmr MS MVP - Word]

  5. #5
    VBAX Regular
    Joined
    Dec 2015
    Posts
    9
    Location
    I was just exploring and trying to learn more, that's all. :-) Thank you again for your help.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •