Solved

vbscript in outlook - custom form

Posted on 2006-11-07
8
604 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
  • 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
 
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
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…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
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…

911 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now