View Single Post
 
Old 07-24-2016, 03:29 PM
wlcdo2 wlcdo2 is offline Windows 7 32bit Office 2013
Novice
 
Join Date: Jun 2016
Posts: 17
wlcdo2 is on a distinguished road
Default AutoOpen to Update TextBox Value

I have a Word 2016 document that upon opening, I want an ActiveX Text Box to update with a random quote. When I run the code via Debug, it works perfectly 100% of the time, however when I open the document, it seems to always display the same quote (i.e. Quote 11) and I can't seem to figure out where I've gone wrong? This is my code within a standard Module:
Code:
Sub AutoOpen()
    
    Dim MyDocName As String
    Dim strQuotes(15) As String
    Dim lngIndex As Long
    MyDocName = Application.ActiveDocument.Name
    
    strQuotes(0) = "'Quote 1'"
    strQuotes(1) = "'Quote 2'"
    strQuotes(2) = "'Quote 3'"
    strQuotes(3) = "'Quote 4'"
    strQuotes(4) = "'Quote 5'"
    strQuotes(5) = "'Quote 6'"
    strQuotes(6) = "'Quote 7'"
    strQuotes(7) = "'Quote 8'"
    strQuotes(8) = "'Quote 9'"
    strQuotes(9) = "'Quote 10'"
    strQuotes(10) = "'Quote 11'"
    strQuotes(11) = "'Quote 12'"
    strQuotes(12) = "'Quote 13'"
    strQuotes(13) = "'Quote 14'"
    strQuotes(14) = "'Quote 15'"
    strQuotes(15) = "'Quote 16'"
     
    lngIndex = Int((15 - 0 + 1) * Rnd + 0)
     
    Documents(MyDocName).tbRandomQuote.Value = strQuotes(lngIndex)
         
End Sub
I thought perhaps the AutoOpen wasn't triggering, so I included a test MsgBox message and this displayed just fine so this suggests the AutoOpen is triggering OK. When I included the MsgBox, I did observe the TextBox update correctly, but when I click OK to the MsgBox message, the TextBox value changed back to 'Quote 11'.
I'm sure it'll be so simple, but I've pulled my hair out going around in circles.
Thanks so much for any assistance / guidance you could offer.

Corin.
Reply With Quote