Solved

vbscript in outlook - custom form

Posted on 2006-11-07
8
625 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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
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

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
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…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses
Course of the Month9 days, 10 hours left to enroll

624 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