View Single Post
  #6   Report Post  
Posted to microsoft.public.word.docmanagement
Erik Witkop Erik Witkop is offline
external usenet poster
 
Posts: 4
Default userform question

On May 13, 9:49 am, "Jay Freedman" wrote:
Erik Witkop wrote:
On May 12, 12:06 am, "Doug Robbins - Word MVP"
wrote:
Use Document Variables and DOCVARIABLE fields instead of bookmarks


--
Hope this helps.


Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.


Doug Robbins - Word MVP


"Erik Witkop" wrote in message


...


I built my own userform in VBA. And it works by populating bookmarks
in the word document. But I find I can only have 1 bookmark named
"customer" for example. So this does not scale well at all for my
VBA script. So how can I populate data with a userform where I can
reuse a variable in the document. I want to populate 'customer' in
5 different places in the doc. And bookmarks don't cut it.


Can anyone suggest a better way to get this done?


Thanks.- Hide quoted text -


- Show quoted text -


Thanks Doug. That is a much better solution that bookmarking. Working
with bookmarks is a pain.


Do you have any basic code to take a textfield from a userform and
populate a docvariable? I couldn't find any code that worked in
conjuction with userforms?


Thanks.


The exact form of the code depends on where you place it (within the
userform's code, such as in the _Click procedure of the OK button; or in the
macro that declares and shows the userform).

If it's in the userform code, it could be something like this:

ActiveDocument.Variables("NameOfVariable").Value = TextBox1.Text

If it's in the calling macro, the left side is the same but "TextBox1" must
be addressed as a property of the userform:

Dim UF As UserForm1
Set UF = New UserForm1
UF.Show
ActiveDocument.Variables("NameOfVariable").Value = UF.TextBox1.Text

Don't take the latter as production code; at the very least, there's more
that needs to be done to make it error-resistant.

--
Regards,
Jay Freedman
Microsoft Word MVP FAQ:http://word.mvps.org
Email cannot be acknowledged; please post all follow-ups to the newsgroup so
all may benefit.



Thanks Jay,

But for the life of me I cannot get this working. This is my code.


1. one form with one field. The form name is UserForm1. The field name
is customer_field.
2. one variable in the word doc named 'customer_var'


My code is this:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Private Sub CommandButton1_Click()
With ActiveDocument

.Variables("customer_var").Value = customer_field.Text
.Fields.Update

End With
End Sub

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

What is not happening, is the docvariable in the word doc never gets
populated. I don't get any debug errors, it simply does not populate
the docvariable in my word doc.

Any thoughts?

Thanks for all your help. There is very little flaming here as long as
you follow the rules. I like that.