OK, I see now. I took the shortcut and just tried it with a built-in property, not a custom property. I don't know why it doesn't work with custom properties.
In any case, the other approach is to use code behind the form:
Sub Item_CustomPropertyChange(ByVal Name)
Select Case Name
Case "Process Title"
Item.UserProperties("Process Title") = _
UCase(Item.UserProperties("Process Title"))
' put more Case blocks here if you
' need to handle other properties
End Select
End Sub
See
http://www.outlookcode.com/d/propsyntax.htm for more information on the CustomPropertyChange event. Note that code runs only on published forms.
--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003
and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
Russ said:
Alright, one last question (I hope). When I use UCase( [xxxx] ) for
pre-defined fields like subject, to, Cc, etc this function works just
fine and capitalizes the text. However, if I create a user-defined
field and try to use the UCase function, the text disappers from the
text box. Is more code needed in this case to point to the field? I'm
pretty much at a loss. I've been looking at outlookcode, but haven't
found anything specific yet. Thanks. Russ
Works fine here every time. Note that the field in the formula needs to be the name of the Outlook property, not the name of a control. Maybe you can post a screen somewhere of your Value tab.
No typos or wrong field name, I created a brand new test textbox to use
as a test case, and the text I put into that field vanished too once I
tabbed out. There must be something that I've checked, or unchecked or
other minutiae that I'm not finding that are making this not work.
Thanks for your help.
Russ
Sue Mosher [MVP-Outlook] wrote:
Formula pointing to the wrong field? Typo in the field name?
Yes, however when I set it to calculate automatically the text just
diappears.
Russ
Sue Mosher [MVP-Outlook] wrote:
Did you remember to change the setting under Initial Value to "Calculate this formula automatically"?
Thanks for your quick reply to my question. Unfortunately this didn't
work. I tried the syntax in two places; the initial value line under
properties and in the script editor. The formula is set to calculate
when I compose a new form. This is a text box of type text and the
"Property to use:" is set to the default "value" value. I haven't had
trouble using a textbox of type date/time and using the "NOW" function
to autofill the date/time, but for some reason I can't get this UCase
to work. Might you have other suggestions?
Sue Mosher [MVP-Outlook] wrote:
A formula doesn't use =. Simply use:
UCase([Process Title])
Hello,
First post: I've created an Outlook custom form with some standard
controls along with some customized controls. I want to make text in
some of the custom controls all caps. How can I do it? In MS Access I
could set the property value to ">" and it would work fine, but in
Outlook forms it doesn't. I've tried many things. One example was
writing code in the properties box under properties/Value/Edit, then I
tried it in the Script Editor. Example code: (Process Title being the
name of my control): [Process Title]=UCase("& [Process Title] &"). No
luck. Any ideas?
Russ