[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 560
  • Last Modified:

Getting an external Common Name / Not a member : Evaluate



Hi All,

I've got a small problem.  I'm trying to get  the common name of an external e-mail address.  I'm using the From field on the memo form and it's not as easy as doing Left and Rights due to the unpredictable format of the external email addresses.  For example the From field could be:
"Richard Starkey" <rstarkey@mail.com> or
Richard Starkey <rstarkey@mail.com> or
richardstarkey@mail.com

I've been trying to use the evluate statement to get the Given Name to see how this would work but keep getting a script error: "Not a member : Evaluate".  Below is the pertinent code in my script..

--------------
Dim sess as New NotesSession
Dim externalPrincipal as Variant
externalPrincipal = sess.Evaluate("@Name([G]; From)", maildoc)
-------------

Anybody know what I'm doing wrong or a better way to do it?
0
RichardStarkey
Asked:
RichardStarkey
  • 5
  • 4
  • 3
  • +1
1 Solution
 
madheeswarCommented:
How about using "Principal"?
tmpname=doc.Principal
0
 
Sjef BosmanGroupware ConsultantCommented:
If you want to play around with names, use the NotesName object.

    Dim nn= New NotesName(maildoc.From(0))

There are many properties that can be retrieved from a NotesName. Please see the Help-db.
0
 
HemanthaKumarCommented:
Use @Name(Phrase];From) to get Richard Starkey or "Richard Starkey"

For internet address.. use @Name([Address821]; From).. which returns rstarkey@mail.com

~Hemanth
0
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!

 
Sjef BosmanGroupware ConsultantCommented:
Why use Evaluate in this case?
0
 
RichardStarkeyAuthor Commented:
I tried using maildoc.Principal at first but the external mails don't always have a Principal field.

I've also tried playing around with the NotesName option.  But I found a problem with this is in that the From field wasn't recognised as a names field on an external mail so I got a type mismatch error.  

I would give the @Name([Phrase]; From) a go but when I try to save I still get the "Not a memeber : Evaluate" error message!

To be honest, having looked at it I don't think it is that simple anyway.  I basically need the value that is displayed in the 'Who' column of the users Inbox and formula for that is pretty complicated.
0
 
RichardStarkeyAuthor Commented:
Hi All,
I've worked out the "Not a member : Evaluate" error message.  Evaluate is a standalone function and is not a member of the NotesSession class.  So just using the following does not through an error:
externalPrincipal = Evaluate("@Name([G]; From)", maildoc)

Unfortunaltey, the From field on an external mail is not recognised as a notes name so none of the @Name abbreviations work anyway!

0
 
Sjef BosmanGroupware ConsultantCommented:
Hi RichardStarkey,

> I've also tried playing around with the NotesName option.  But I found
> a problem with this is in that the From field wasn't recognised as a
> names field on an external mail so I got a type mismatch error.  

The type mismatch error cannot be caused by the CONTENT of the From field. It is a LotusScript error, it means that either maildoc is not an object, or the From-field has not a string value, or somehow the nn went wrong. I'll give you the longer version:

    Dim nn As NotesName
    Dim nname As String

    nname= maildoc.From(0)
    Set nn= New NotesName(nname)

Please check if this fails as well, and tell me which line fails.


Sjef
0
 
HemanthaKumarCommented:
Even script object NotesName has phrase component... Check Addr822Phrase property in NotesName class

No one restricts you from not going for evaluate.. there is no reason.. that simple.

> Unfortunaltey, the From field on an external mail is not recognised as a notes name so none of the @Name abbreviations work anyway!

This is confusing... If you are working on the mail document then you should have from field , no matter where it is generated !
0
 
Sjef BosmanGroupware ConsultantCommented:
Hemantha, it almost makes you think that maildoc isn't a mailed document at all!
0
 
HemanthaKumarCommented:
that is what it looks like...when he mentions about @name not recognizing the parts of the name
0
 
RichardStarkeyAuthor Commented:

Thanks!  I think we've got it working.  Sjef - I pasted in the longer version of the code from above and it seems to get the values.  I can then use notesname.common to get the part of the name I want.  
0
 
Sjef BosmanGroupware ConsultantCommented:
Great! Thanks for the points. Eh, are you in any way related to the, eh, drummer...? Or a big fan?
0
 
RichardStarkeyAuthor Commented:


Alas no relation!  Just a fan of the band!!
0

Featured Post

Industry Leaders: 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!

  • 5
  • 4
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now