Solved

vbscript in outlook - custom form

Posted on 2006-11-07
8
623 Views
Last Modified: 2012-06-22
Hey there,

I'm making a custom form in outlook (based on the message form)

In my form, I have two label objects: uname , and hname
I would like these two labels to become the username, and hostname of the

Here is what I have so far, but gives me errors on line 2 and im not sure why:

Function Item_Open()
Dim HDUsername as string
Dim HDHostname as string
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set HDHostname = WshNetwork.ComputerName
Set HDUsername = WshNetwork.UserName
uname.caption = HDUsername
hname.caption = HDHostname
End Function


Anyone know whats wrong?
0
Comment
Question by:jcourtes
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 35

Accepted Solution

by:
mvidas earned 125 total points
ID: 17892517
jcourtes,

If you're using vbscript, remove "as string" after the two variables are dim'med.  Also, you'll need to remove the "Set " keyword before setting those two string variables, as Set is used when setting an object reference.

Matt
0
 
LVL 1

Author Comment

by:jcourtes
ID: 17892595
It's telling me "object required" for this line now:

Set WshNetwork = WScript.CreateObject("WScript.Network")

0
 
LVL 35

Expert Comment

by:mvidas
ID: 17892666
Are you really running this from vbscript, or from outlook vba?

If vbscript, then I'm not sure what the error could be.  If it is vba, then change it to
 set wshnetwork = createobject("wscript.network")
Even if you are using vbscript, you can remove the qualifying wscript. before createobject

If it is really vba, then you can add the "as string" back to it, making your function:

Function Item_Open()
 Dim HDUsername as string
 Dim HDHostname as string
 Dim WshNetwork as object
 Set WshNetwork = CreateObject("WScript.Network")
 HDHostname = WshNetwork.ComputerName
 HDUsername = WshNetwork.UserName
 Set WshNetwork = Nothing
 uname.caption = HDUsername
 hname.caption = HDHostname
End Function

Matt
0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 1

Author Comment

by:jcourtes
ID: 17892742
I'm using vbscript in my outlook form. does that mean vba?

When it gets to :

uname.caption = HDUsername

It's telling me "object required"
0
 
LVL 35

Expert Comment

by:mvidas
ID: 17892879
vbscript is a derivitive of VB (as is VBA), though generally used only through .vbs files or .asp pages (an outlook form would usually use VBA, or VB if the form was part of a COM addin).  Anyways..

If you're getting 'object required' for that line (and would for the following line too), are your labels truly called "uname" and "hname"?

If so, is your function located in the form's code module? Or is it part of a separate module? If separate, you'll have to refer to the name of the form as well, like
 UserForm1.uname.Caption = HDUsername
0
 
LVL 1

Author Comment

by:jcourtes
ID: 17894071
one thing i've noticed:

I'm putting all the script:
Function Item_Open()
Dim HDUsername
Dim HDHostname
Dim WshNetwork
Dim Testvalue
Set WshNetwork = CreateObject("WScript.Network")
HDHostname = WshNetwork.ComputerName
HDUsername = WshNetwork.UserName
Set WshNetwork = Nothing
MsgBox HDUsername
MsgBox HDHostname 'works up till here.
Testvalue = lbUsername.caption 'this is where the error comes up
MsgBox HDUsername
hd.lbUsername.Caption = HDUsername
hd.lbHostname.Caption = HDHostname
End Function

i've tried adding the parent ? (hd.lbHostname.....)
I don't think i named things correctly. I may have started the form off wrong, but either way, i started with a message form as a base and heavily modified it.

I've created a bunch of labels  (lbHostname, lbUsername, lbIPAddress)  on the form.

When the form loads, I want the labels to grab their respective values.
Also, will the values get sent along with the form so that they can be read from similar labels on the read side?
If not, what must I keep in mind?
0
 
LVL 1

Author Comment

by:jcourtes
ID: 17894099
the error:

Object required: 'lbUsername'
Line 12...

Testvalue = lbUsername.caption 'this is where the error comes up

so far I get the poppups with the correct values so I know up until there is working fine..

Just can't seem to find out how to point to the labels i created.

I've even tried:
IPM.Note.SupportRequest.lbUsername.Caption

That still doesnt work...
The code up here is also going into the script editor ('view code' from form edit screen)
Should it be going into the visual basic editor - module 1 ?
I'm starting to confuse myself....
0
 
LVL 1

Author Comment

by:jcourtes
ID: 17894132
should i create custom fields?
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question