A Microsoft Outlook email forum. Outlook Banter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » Outlook Banter forum » Microsoft Outlook Email Newsgroups » Outlook - Using Contacts
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

form's VBscript disabled after the first save



 
 
Thread Tools Search this Thread Display Modes
  #1  
Old July 13th 06, 07:29 PM posted to microsoft.public.outlook.contacts
j1313
external usenet poster
 
Posts: 1
Default form's VBscript disabled after the first save

If I open a new form then save it its all good but if i then try to edit this
new contact, the VB script in the form is disabled and events do not take
place (eg at contact item write).

Some things I've tried:
* I Opened the newly saved contact where the scripts don't work and went to
tools/forms/design this form, and then in the form design window to form/view
code and the script code is all there. I go to form/run this form and the
form runs with the scripts.


I've narrowed things down to using method: "item.UserProperties.Find"



in
Function Item_Write()
....
item.UserProperties.Find("GovernmentIDNumber", False)


#############################################

Const MAX_RAND_SIZE = 1000000000
Const MIN_RAND_SIZE = 100000000
Const FOLDER_L0_MAILBOX = "Public Folders"
Const FOLDER_L1 = "All Public Folders"
Const FOLDER_L2 = "Contacts Database"


Dim cloneBunnyLoopProtection

Function MyRand()
Dim r1
r1 = (Rnd * MAX_RAND_SIZE) Mod MAX_RAND_SIZE
If r1 100000000 Then
MyRand = MyRand()
Else
MyRand = r1
End If
End Function

'just for mailboxes
Function getMailboxFolder(mbName)
For Each mailbox In Application.Session.Folders
If InStr(mailbox.Name, mbName) Then
Set getMailboxFolder = mailbox
End If
Next
End Function

'generic folder search function
Function getFolderWithStringInFolder(folderName, parentFolder)
For Each Folder In parentFolder.Folders
If InStr(Folder.Name, folderName) Then
Set getFolderWithStringInFolder = Folder
End If
Next
End Function

Function Item_Open()
cloneBunnyLoopProtection = True
End Function

Function Item_Read()
End Function

Function Item_Write()
Dim currFolder
Dim pubFolder
Dim pubContact
Dim currGovID
Dim pubGovID
msgbox "form - write"
If cloneBunnyLoopProtection then
set currGovID = item.UserProperties.Find("GovernmentIDNumber", False)
If currGovID.Value = "" Then 'new contact
Randomize
currGovID.Value = "id" & MyRand()
Randomize
currGovID.Value = currGovID.Value & MyRand()
Randomize
currGovID.Value = currGovID.Value & MyRand()
Else 'else find the public copy of contact
Set currFolder = getMailboxFolder(FOLDER_L0_MAILBOX )
Set currFolder = getFolderWithStringInFolder(FOLDER_L1,
currFolder)
Set pubFolder = getFolderWithStringInFolder(FOLDER_L2, currFolder)
set pubContact = pubFolder.Items.Find("[GovernmentIDNumber] = "
& currGovID.Value)
If VarType(pubContact) = 8 Then
set pubGovID =
pubContact.UserProperties.Find("GovernmentIDNumber ", False)
If pubGovID.Value = currGovID.Value Then
pubContact.Delete
End if
End if
End If
CreateCensoredContact()
End If
cloneBunnyLoopProtection = False
End Function

Sub CreateCensoredContact()
Dim currFolder
Dim pubFolder
Dim ncc

Set currFolder = getMailboxFolder(FOLDER_L0_MAILBOX )
Set currFolder = getFolderWithStringInFolder(FOLDER_L1, currFolder)
Set pubFolder = getFolderWithStringInFolder(FOLDER_L2, currFolder)

Set ncc = item.copy

CensorContactFields(ncc)
CensorCustomFields(ncc)
ncc.Move pubFolder
End Sub

Sub CensorContactFields(ncc)
ncc.Account = ""
ncc.AssistantName = ""
ncc.AssistantTelephoneNumber = ""
ncc.BillingInformation = ""
'ncc.Body = "" 'Notes Field
'ncc.Business2TelephoneNumber = ""
'ncc.BusinessAddress = ""
'ncc.BusinessAddressCity = ""
'ncc.BusinessAddressCountry = ""
'ncc.BusinessAddressPostalCode = ""
'ncc.BusinessAddressPostOfficeBox = ""
'ncc.BusinessAddressState = ""
'ncc.BusinessAddressStreet = ""
'ncc.BusinessFaxNumber = ""
'ncc.BusinessHomePage = ""
'ncc.BusinessTelephoneNumber = ""
ncc.CallbackTelephoneNumber = ""
ncc.CarTelephoneNumber = ""
'ncc.Categories = ""
ncc.Children = ""
'ncc.Companies = ""
ncc.CompanyMainTelephoneNumber = ""
'ncc.CompanyName = ""
ncc.ComputerNetworkName = ""
'ncc.CustomerID = ""
'ncc.Department = ""
'ncc.Email1Address = ""
'ncc.Email1AddressType = ""
'ncc.Email1DisplayName = ""
ncc.Email2Address = ""
ncc.Email2AddressType = ""
ncc.Email2DisplayName = ""
ncc.Email3Address = ""
ncc.Email3AddressType = ""
ncc.Email3DisplayName = ""
'ncc.FileAs = ""
'ncc.FirstName = ""
ncc.FormDescription = ""
ncc.FTPSite = ""
'ncc.FullName = " "
'ncc.GovernmentIDNumber = ""


ncc.Hobby = ""
ncc.Home2TelephoneNumber = ""
ncc.HomeAddress = ""
ncc.HomeAddressCity = ""
ncc.HomeAddressCountry = ""
ncc.HomeAddressPostalCode = ""
ncc.HomeAddressPostOfficeBox = ""
ncc.HomeAddressState = ""
ncc.HomeAddressStreet = ""
ncc.HomeFaxNumber = ""
ncc.HomeTelephoneNumber = ""
ncc.IMAddress = ""
'ncc.Initials = ""
ncc.InternetFreeBusyAddress = ""
ncc.ISDNNumber = ""
'ncc.JobTitle = ""
ncc.Language = ""
'ncc.LastName = ""
'ncc.MailingAddress = ""
'ncc.MailingAddressCity = ""
'ncc.MailingAddressCountry = ""
'ncc.MailingAddressPostalCode = ""
'ncc.MailingAddressPostOfficeBox = ""
'ncc.MailingAddressState = ""
'ncc.MailingAddressStreet = ""
ncc.ManagerName = ""
ncc.MessageClass = ""
'ncc.MiddleName = ""
ncc.Mileage = ""
ncc.MobileTelephoneNumber = ""
ncc.NetMeetingAlias = ""
ncc.NetMeetingServer = ""
'ncc.NickName = ""

ncc.OfficeLocation = ""
ncc.OrganizationalIDNumber = ""
ncc.OtherAddress = ""
ncc.OtherAddressCity = ""
ncc.OtherAddressCountry = ""
ncc.OtherAddressPostalCode = ""
ncc.OtherAddressPostOfficeBox = ""
ncc.OtherAddressState = ""
ncc.OtherAddressStreet = ""
ncc.OtherFaxNumber = ""
ncc.OtherTelephoneNumber = ""
ncc.PagerNumber = ""
ncc.PersonalHomePage = ""
ncc.PrimaryTelephoneNumber = ""
'ncc.Profession = ""
ncc.RadioTelephoneNumber = ""
ncc.ReferredBy = ""
ncc.Spouse = ""
'ncc.Subject = ""
'ncc.Suffix = ""
ncc.TelexNumber = ""
'ncc.Title = ""
ncc.TTYTDDTelephoneNumber = ""
ncc.User1 = ""
ncc.User2 = ""
ncc.User3 = ""
ncc.User4 = ""
'ncc.UserCertificate = ""
ncc.WebPage = ""
ncc.YomiCompanyName = ""
ncc.YomiFirstName = ""
ncc.YomiLastName = ""
End Sub

Sub CensorCustomFields(ncc)
ncc.UserProperties.Find("Private Notes").Value = ""
'ncc.UserProperties.Find("Project").Value = ""
'ncc.UserProperties.Find("Project Role").Value = ""

ncc.UserProperties.Find("Christmas card 2001 sent").Value = False
ncc.UserProperties.Find("Christmas card 2001 received").Value = False
ncc.UserProperties.Find("Christmas card 2002 sent").Value = False
ncc.UserProperties.Find("Christmas card 2002 received").Value = False
ncc.UserProperties.Find("Christmas card 2003 sent").Value = False
ncc.UserProperties.Find("Christmas card 2003 received").Value = False
ncc.UserProperties.Find("Christmas card 2004 sent").Value = False
ncc.UserProperties.Find("Christmas card 2004 received").Value = False
ncc.UserProperties.Find("Christmas card 2005 sent").Value = False
ncc.UserProperties.Find("Christmas card 2005 received").Value = False
ncc.UserProperties.Find("Christmas card 2006 sent").Value = False
ncc.UserProperties.Find("Christmas card 2006 received").Value = False
ncc.UserProperties.Find("Christmas card 2007 sent").Value = False
ncc.UserProperties.Find("Christmas card 2007 received").Value = False
ncc.UserProperties.Find("Christmas card 2008 sent").Value = False
ncc.UserProperties.Find("Christmas card 2008 received").Value = False
ncc.UserProperties.Find("Christmas card 2009 sent").Value = False
ncc.UserProperties.Find("Christmas card 2009 received").Value = False
ncc.UserProperties.Find("Christmas card 2010 sent").Value = False
ncc.UserProperties.Find("Christmas card 2010 received").Value = False
ncc.UserProperties.Find("Christmas card 2011 sent").Value = False
ncc.UserProperties.Find("Christmas card 2011 received").Value = False
ncc.UserProperties.Find("Christmas card 2012 sent").Value = False
ncc.UserProperties.Find("Christmas card 2012 received").Value = False
ncc.UserProperties.Find("Christmas card 2013 sent").Value = False
ncc.UserProperties.Find("Christmas card 2013 received").Value = False
ncc.UserProperties.Find("Christmas card 2014 sent").Value = False
ncc.UserProperties.Find("Christmas card 2014 received").Value = False
ncc.UserProperties.Find("Christmas card 2015 sent").Value = False
ncc.UserProperties.Find("Christmas card 2015 received").Value = False

ncc.UserProperties.Find("HSBC").Value = False
ncc.UserProperties.Find("Vents").Value = False
ncc.UserProperties.Find("CraftsC").Value = False
ncc.UserProperties.Find("V&A").Value = False
ncc.UserProperties.Find("Sci-M").Value = False
ncc.UserProperties.Find("F&T").Value = False
ncc.UserProperties.Find("Sitooterie").Value = False
ncc.UserProperties.Find("DesignM").Value = False
ncc.UserProperties.Find("Zipbags").Value = False

ncc.UserProperties.Find("Aberystwyth").Value = False
ncc.UserProperties.Find("Bleigiessen").Value = False
ncc.UserProperties.Find("Blue Carpet").Value = False
ncc.UserProperties.Find("B of the Bang").Value = False
ncc.UserProperties.Find("Guy's Hospital").Value = False
ncc.UserProperties.Find("Little Hampton").Value = False
ncc.UserProperties.Find("Longchamp NY").Value = False
ncc.UserProperties.Find("Rolling Bridge").Value = False

End Sub


'################################################# #########
' Phone number reformating
'################################################# #########



Function purePhoneNumber(markedNumber)
markedNumber = Join(Split(markedNumber, " "), "")
markedNumber = Join(Split(markedNumber, "("), "")
markedNumber = Join(Split(markedNumber, "-"), "")
markedNumber = Join(Split(markedNumber, "."), "")
purePhoneNumber = Join(Split(markedNumber, ")"), "")
End Function

Sub Item_PropertyChange(ByVal Name)
Select case Name
Case "AssistantTelephoneNumber"
item.AssistantTelephoneNumber =
ReformatedNumber(item.AssistantTelephoneNumber)
Case "Business2TelephoneNumber"
item.Business2TelephoneNumber =
ReformatedNumber(item.Business2TelephoneNumber)
Case "BusinessFaxNumber"
item.BusinessFaxNumber = ReformatedNumber(item.BusinessFaxNumber)
Case "BusinessTelephoneNumber"
item.BusinessTelephoneNumber =
ReformatedNumber(item.BusinessTelephoneNumber)
Case "CallbackTelephoneNumber"
item.CallbackTelephoneNumber =
ReformatedNumber(item.CallbackTelephoneNumber)
Case "CarTelephoneNumber"
item.CarTelephoneNumber = ReformatedNumber(item.CarTelephoneNumber)
Case "CompanyMainTelephoneNumber"
item.CompanyMainTelephoneNumber =
ReformatedNumber(item.CompanyMainTelephoneNumber)
Case "Home2TelephoneNumber"
item.Home2TelephoneNumber= ReformatedNumber(item.Home2TelephoneNumber)
Case "HomeFaxNumber"
item.HomeFaxNumber = ReformatedNumber(item.HomeFaxNumber)
Case "HomeTelephoneNumber"
item.HomeTelephoneNumber = ReformatedNumber(item.HomeTelephoneNumber)
Case "ISDNNumber"
item.ISDNNumber = ReformatedNumber(item.ISDNNumber)
Case "MobileTelephoneNumber"
item.MobileTelephoneNumber =
ReformatedNumber(item.MobileTelephoneNumber)
Case "OrganizationalIDNumber"
item.OrganizationalIDNumber =
ReformatedNumber(item.OrganizationalIDNumber)
Case "OtherFaxNumber"
item.OtherFaxNumber = ReformatedNumber(item.OtherFaxNumber)
Case "OtherTelephoneNumber"
item.OtherTelephoneNumber =
ReformatedNumber(item.OtherTelephoneNumber)
Case "PagerNumber"
item.PagerNumber = ReformatedNumber(item.PagerNumber)
Case "PrimaryTelephoneNumber"
item.PrimaryTelephoneNumber =
ReformatedNumber(item.PrimaryTelephoneNumber)
Case "RadioTelephoneNumber"
item.RadioTelephoneNumber =
ReformatedNumber(item.RadioTelephoneNumber)
Case "TelexNumber"
item.TelexNumber = ReformatedNumber(item.TelexNumber)
Case "TTYTDDTelephoneNumber"
item.TTYTDDTelephoneNumber =
ReformatedNumber(item.TTYTDDTelephoneNumber)
End Select
End Sub

Function ReformatedNumber(phoneNumber)
Dim NNLen
Dim CCode
Dim NNumber

phoneNumber = purePhoneNumber(phoneNumber)

If Len(phoneNumber) = 4 Then
If Left(phoneNumber, 1) = "+" And IsNumeric(Right(Left(phoneNumber,
3), 2)) Then
NNLen = Len(phoneNumber) - 3
CCode = Left(phoneNumber, 3)
NNumber = Right(phoneNumber, NNLen)
phoneNumber = CCode & " " & NNumber
ElseIf Left(phoneNumber, 2) = "00" And
IsNumeric(Right(Left(phoneNumber, 2), 2)) Then
NNLen = Len(phoneNumber) - 4
CCode = Left(phoneNumber, 4)
NNumber = Right(phoneNumber, NNLen)
phoneNumber = "+" & Right(CCode, 2) & " " & NNumber
ElseIf Left(phoneNumber, 1) = "0" Then
NNLen = Len(phoneNumber) - 1
CCode = Left(phoneNumber, 1)
NNumber = Right(phoneNumber, NNLen)
phoneNumber = "+" & "44 " & NNumber
Else
phoneNumber = "+" & "44 " & "20" & phoneNumber
End If
If Mid(phoneNumber, 2,1) = "1" Then
phoneNumber = NANP_CCodeReformated(phoneNumber)
End If

End If
ReformatedNumber = phoneNumber

End Function

Function NANP_CCodeReformated(phoneNumber)
phoneNumber = Join(Split(phoneNumber), "")
If Len(phoneNumber) 5 Then
phoneNumber = Left(phoneNumber, 2) & " " & _
Mid(phoneNumber, 3,3) & " " & _
Mid(phoneNumber, 6,Len(phoneNumber)-5)
Else
phoneNumber = Left(phoneNumber, 2) & " " & _
Mid(phoneNumber, 3,Len(phoneNumber)-2)
End If
NANP_CCodeReformated = phoneNumber
End Function



Ads
  #2  
Old July 13th 06, 07:41 PM posted to microsoft.public.outlook.contacts
Sue Mosher [MVP-Outlook]
external usenet poster
 
Posts: 11,651
Default form's VBscript disabled after the first save

If the form doesn't run code after you have sent or saved an item using the published form, you probably have done something to "one-off" the form. Outlook 2003, Outlook 2002, Outlook 2000 SP2 and Outlook 2000 or 98 with the Email Security Update will not run code on one-off forms; see http://www.outlookcode.com/d/secforms.htm for more information on this issue.

GovernmentIDNumber is a built-in property, not a custom property. You should access it with Item.GovernmentIDNumber, not through the UserProperties collection.

FYI, there is a newsgroup specifically for Outlook forms issues "down the hall" at microsoft.public.outlook.program_forms or, via web interface, at http://www.microsoft.com/office/comm...rogram_f orms

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003
http://www.turtleflock.com/olconfig/index.htm
and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
http://www.outlookcode.com/jumpstart.aspx

"j1313" wrote in message ...
If I open a new form then save it its all good but if i then try to edit this
new contact, the VB script in the form is disabled and events do not take
place (eg at contact item write).

Some things I've tried:
* I Opened the newly saved contact where the scripts don't work and went to
tools/forms/design this form, and then in the form design window to form/view
code and the script code is all there. I go to form/run this form and the
form runs with the scripts.


I've narrowed things down to using method: "item.UserProperties.Find"



in
Function Item_Write()
...
item.UserProperties.Find("GovernmentIDNumber", False)


#############################################

Const MAX_RAND_SIZE = 1000000000
Const MIN_RAND_SIZE = 100000000
Const FOLDER_L0_MAILBOX = "Public Folders"
Const FOLDER_L1 = "All Public Folders"
Const FOLDER_L2 = "Contacts Database"


Dim cloneBunnyLoopProtection

Function MyRand()
Dim r1
r1 = (Rnd * MAX_RAND_SIZE) Mod MAX_RAND_SIZE
If r1 100000000 Then
MyRand = MyRand()
Else
MyRand = r1
End If
End Function

'just for mailboxes
Function getMailboxFolder(mbName)
For Each mailbox In Application.Session.Folders
If InStr(mailbox.Name, mbName) Then
Set getMailboxFolder = mailbox
End If
Next
End Function

'generic folder search function
Function getFolderWithStringInFolder(folderName, parentFolder)
For Each Folder In parentFolder.Folders
If InStr(Folder.Name, folderName) Then
Set getFolderWithStringInFolder = Folder
End If
Next
End Function

Function Item_Open()
cloneBunnyLoopProtection = True
End Function

Function Item_Read()
End Function

Function Item_Write()
Dim currFolder
Dim pubFolder
Dim pubContact
Dim currGovID
Dim pubGovID
msgbox "form - write"
If cloneBunnyLoopProtection then
set currGovID = item.UserProperties.Find("GovernmentIDNumber", False)
If currGovID.Value = "" Then 'new contact
Randomize
currGovID.Value = "id" & MyRand()
Randomize
currGovID.Value = currGovID.Value & MyRand()
Randomize
currGovID.Value = currGovID.Value & MyRand()
Else 'else find the public copy of contact
Set currFolder = getMailboxFolder(FOLDER_L0_MAILBOX )
Set currFolder = getFolderWithStringInFolder(FOLDER_L1,
currFolder)
Set pubFolder = getFolderWithStringInFolder(FOLDER_L2, currFolder)
set pubContact = pubFolder.Items.Find("[GovernmentIDNumber] = "
& currGovID.Value)
If VarType(pubContact) = 8 Then
set pubGovID =
pubContact.UserProperties.Find("GovernmentIDNumber ", False)
If pubGovID.Value = currGovID.Value Then
pubContact.Delete
End if
End if
End If
CreateCensoredContact()
End If
cloneBunnyLoopProtection = False
End Function

Sub CreateCensoredContact()
Dim currFolder
Dim pubFolder
Dim ncc

Set currFolder = getMailboxFolder(FOLDER_L0_MAILBOX )
Set currFolder = getFolderWithStringInFolder(FOLDER_L1, currFolder)
Set pubFolder = getFolderWithStringInFolder(FOLDER_L2, currFolder)

Set ncc = item.copy

CensorContactFields(ncc)
CensorCustomFields(ncc)
ncc.Move pubFolder
End Sub

Sub CensorContactFields(ncc)
ncc.Account = ""
ncc.AssistantName = ""
ncc.AssistantTelephoneNumber = ""
ncc.BillingInformation = ""
'ncc.Body = "" 'Notes Field
'ncc.Business2TelephoneNumber = ""
'ncc.BusinessAddress = ""
'ncc.BusinessAddressCity = ""
'ncc.BusinessAddressCountry = ""
'ncc.BusinessAddressPostalCode = ""
'ncc.BusinessAddressPostOfficeBox = ""
'ncc.BusinessAddressState = ""
'ncc.BusinessAddressStreet = ""
'ncc.BusinessFaxNumber = ""
'ncc.BusinessHomePage = ""
'ncc.BusinessTelephoneNumber = ""
ncc.CallbackTelephoneNumber = ""
ncc.CarTelephoneNumber = ""
'ncc.Categories = ""
ncc.Children = ""
'ncc.Companies = ""
ncc.CompanyMainTelephoneNumber = ""
'ncc.CompanyName = ""
ncc.ComputerNetworkName = ""
'ncc.CustomerID = ""
'ncc.Department = ""
'ncc.Email1Address = ""
'ncc.Email1AddressType = ""
'ncc.Email1DisplayName = ""
ncc.Email2Address = ""
ncc.Email2AddressType = ""
ncc.Email2DisplayName = ""
ncc.Email3Address = ""
ncc.Email3AddressType = ""
ncc.Email3DisplayName = ""
'ncc.FileAs = ""
'ncc.FirstName = ""
ncc.FormDescription = ""
ncc.FTPSite = ""
'ncc.FullName = " "
'ncc.GovernmentIDNumber = ""


ncc.Hobby = ""
ncc.Home2TelephoneNumber = ""
ncc.HomeAddress = ""
ncc.HomeAddressCity = ""
ncc.HomeAddressCountry = ""
ncc.HomeAddressPostalCode = ""
ncc.HomeAddressPostOfficeBox = ""
ncc.HomeAddressState = ""
ncc.HomeAddressStreet = ""
ncc.HomeFaxNumber = ""
ncc.HomeTelephoneNumber = ""
ncc.IMAddress = ""
'ncc.Initials = ""
ncc.InternetFreeBusyAddress = ""
ncc.ISDNNumber = ""
'ncc.JobTitle = ""
ncc.Language = ""
'ncc.LastName = ""
'ncc.MailingAddress = ""
'ncc.MailingAddressCity = ""
'ncc.MailingAddressCountry = ""
'ncc.MailingAddressPostalCode = ""
'ncc.MailingAddressPostOfficeBox = ""
'ncc.MailingAddressState = ""
'ncc.MailingAddressStreet = ""
ncc.ManagerName = ""
ncc.MessageClass = ""
'ncc.MiddleName = ""
ncc.Mileage = ""
ncc.MobileTelephoneNumber = ""
ncc.NetMeetingAlias = ""
ncc.NetMeetingServer = ""
'ncc.NickName = ""

ncc.OfficeLocation = ""
ncc.OrganizationalIDNumber = ""
ncc.OtherAddress = ""
ncc.OtherAddressCity = ""
ncc.OtherAddressCountry = ""
ncc.OtherAddressPostalCode = ""
ncc.OtherAddressPostOfficeBox = ""
ncc.OtherAddressState = ""
ncc.OtherAddressStreet = ""
ncc.OtherFaxNumber = ""
ncc.OtherTelephoneNumber = ""
ncc.PagerNumber = ""
ncc.PersonalHomePage = ""
ncc.PrimaryTelephoneNumber = ""
'ncc.Profession = ""
ncc.RadioTelephoneNumber = ""
ncc.ReferredBy = ""
ncc.Spouse = ""
'ncc.Subject = ""
'ncc.Suffix = ""
ncc.TelexNumber = ""
'ncc.Title = ""
ncc.TTYTDDTelephoneNumber = ""
ncc.User1 = ""
ncc.User2 = ""
ncc.User3 = ""
ncc.User4 = ""
'ncc.UserCertificate = ""
ncc.WebPage = ""
ncc.YomiCompanyName = ""
ncc.YomiFirstName = ""
ncc.YomiLastName = ""
End Sub

Sub CensorCustomFields(ncc)
ncc.UserProperties.Find("Private Notes").Value = ""
'ncc.UserProperties.Find("Project").Value = ""
'ncc.UserProperties.Find("Project Role").Value = ""

ncc.UserProperties.Find("Christmas card 2001 sent").Value = False
ncc.UserProperties.Find("Christmas card 2001 received").Value = False
ncc.UserProperties.Find("Christmas card 2002 sent").Value = False
ncc.UserProperties.Find("Christmas card 2002 received").Value = False
ncc.UserProperties.Find("Christmas card 2003 sent").Value = False
ncc.UserProperties.Find("Christmas card 2003 received").Value = False
ncc.UserProperties.Find("Christmas card 2004 sent").Value = False
ncc.UserProperties.Find("Christmas card 2004 received").Value = False
ncc.UserProperties.Find("Christmas card 2005 sent").Value = False
ncc.UserProperties.Find("Christmas card 2005 received").Value = False
ncc.UserProperties.Find("Christmas card 2006 sent").Value = False
ncc.UserProperties.Find("Christmas card 2006 received").Value = False
ncc.UserProperties.Find("Christmas card 2007 sent").Value = False
ncc.UserProperties.Find("Christmas card 2007 received").Value = False
ncc.UserProperties.Find("Christmas card 2008 sent").Value = False
ncc.UserProperties.Find("Christmas card 2008 received").Value = False
ncc.UserProperties.Find("Christmas card 2009 sent").Value = False
ncc.UserProperties.Find("Christmas card 2009 received").Value = False
ncc.UserProperties.Find("Christmas card 2010 sent").Value = False
ncc.UserProperties.Find("Christmas card 2010 received").Value = False
ncc.UserProperties.Find("Christmas card 2011 sent").Value = False
ncc.UserProperties.Find("Christmas card 2011 received").Value = False
ncc.UserProperties.Find("Christmas card 2012 sent").Value = False
ncc.UserProperties.Find("Christmas card 2012 received").Value = False
ncc.UserProperties.Find("Christmas card 2013 sent").Value = False
ncc.UserProperties.Find("Christmas card 2013 received").Value = False
ncc.UserProperties.Find("Christmas card 2014 sent").Value = False
ncc.UserProperties.Find("Christmas card 2014 received").Value = False
ncc.UserProperties.Find("Christmas card 2015 sent").Value = False
ncc.UserProperties.Find("Christmas card 2015 received").Value = False

ncc.UserProperties.Find("HSBC").Value = False
ncc.UserProperties.Find("Vents").Value = False
ncc.UserProperties.Find("CraftsC").Value = False
ncc.UserProperties.Find("V&A").Value = False
ncc.UserProperties.Find("Sci-M").Value = False
ncc.UserProperties.Find("F&T").Value = False
ncc.UserProperties.Find("Sitooterie").Value = False
ncc.UserProperties.Find("DesignM").Value = False
ncc.UserProperties.Find("Zipbags").Value = False

ncc.UserProperties.Find("Aberystwyth").Value = False
ncc.UserProperties.Find("Bleigiessen").Value = False
ncc.UserProperties.Find("Blue Carpet").Value = False
ncc.UserProperties.Find("B of the Bang").Value = False
ncc.UserProperties.Find("Guy's Hospital").Value = False
ncc.UserProperties.Find("Little Hampton").Value = False
ncc.UserProperties.Find("Longchamp NY").Value = False
ncc.UserProperties.Find("Rolling Bridge").Value = False

End Sub


'################################################# #########
' Phone number reformating
'################################################# #########



Function purePhoneNumber(markedNumber)
markedNumber = Join(Split(markedNumber, " "), "")
markedNumber = Join(Split(markedNumber, "("), "")
markedNumber = Join(Split(markedNumber, "-"), "")
markedNumber = Join(Split(markedNumber, "."), "")
purePhoneNumber = Join(Split(markedNumber, ")"), "")
End Function

Sub Item_PropertyChange(ByVal Name)
Select case Name
Case "AssistantTelephoneNumber"
item.AssistantTelephoneNumber =
ReformatedNumber(item.AssistantTelephoneNumber)
Case "Business2TelephoneNumber"
item.Business2TelephoneNumber =
ReformatedNumber(item.Business2TelephoneNumber)
Case "BusinessFaxNumber"
item.BusinessFaxNumber = ReformatedNumber(item.BusinessFaxNumber)
Case "BusinessTelephoneNumber"
item.BusinessTelephoneNumber =
ReformatedNumber(item.BusinessTelephoneNumber)
Case "CallbackTelephoneNumber"
item.CallbackTelephoneNumber =
ReformatedNumber(item.CallbackTelephoneNumber)
Case "CarTelephoneNumber"
item.CarTelephoneNumber = ReformatedNumber(item.CarTelephoneNumber)
Case "CompanyMainTelephoneNumber"
item.CompanyMainTelephoneNumber =
ReformatedNumber(item.CompanyMainTelephoneNumber)
Case "Home2TelephoneNumber"
item.Home2TelephoneNumber= ReformatedNumber(item.Home2TelephoneNumber)
Case "HomeFaxNumber"
item.HomeFaxNumber = ReformatedNumber(item.HomeFaxNumber)
Case "HomeTelephoneNumber"
item.HomeTelephoneNumber = ReformatedNumber(item.HomeTelephoneNumber)
Case "ISDNNumber"
item.ISDNNumber = ReformatedNumber(item.ISDNNumber)
Case "MobileTelephoneNumber"
item.MobileTelephoneNumber =
ReformatedNumber(item.MobileTelephoneNumber)
Case "OrganizationalIDNumber"
item.OrganizationalIDNumber =
ReformatedNumber(item.OrganizationalIDNumber)
Case "OtherFaxNumber"
item.OtherFaxNumber = ReformatedNumber(item.OtherFaxNumber)
Case "OtherTelephoneNumber"
item.OtherTelephoneNumber =
ReformatedNumber(item.OtherTelephoneNumber)
Case "PagerNumber"
item.PagerNumber = ReformatedNumber(item.PagerNumber)
Case "PrimaryTelephoneNumber"
item.PrimaryTelephoneNumber =
ReformatedNumber(item.PrimaryTelephoneNumber)
Case "RadioTelephoneNumber"
item.RadioTelephoneNumber =
ReformatedNumber(item.RadioTelephoneNumber)
Case "TelexNumber"
item.TelexNumber = ReformatedNumber(item.TelexNumber)
Case "TTYTDDTelephoneNumber"
item.TTYTDDTelephoneNumber =
ReformatedNumber(item.TTYTDDTelephoneNumber)
End Select
End Sub

Function ReformatedNumber(phoneNumber)
Dim NNLen
Dim CCode
Dim NNumber

phoneNumber = purePhoneNumber(phoneNumber)

If Len(phoneNumber) = 4 Then
If Left(phoneNumber, 1) = "+" And IsNumeric(Right(Left(phoneNumber,
3), 2)) Then
NNLen = Len(phoneNumber) - 3
CCode = Left(phoneNumber, 3)
NNumber = Right(phoneNumber, NNLen)
phoneNumber = CCode & " " & NNumber
ElseIf Left(phoneNumber, 2) = "00" And
IsNumeric(Right(Left(phoneNumber, 2), 2)) Then
NNLen = Len(phoneNumber) - 4
CCode = Left(phoneNumber, 4)
NNumber = Right(phoneNumber, NNLen)
phoneNumber = "+" & Right(CCode, 2) & " " & NNumber
ElseIf Left(phoneNumber, 1) = "0" Then
NNLen = Len(phoneNumber) - 1
CCode = Left(phoneNumber, 1)
NNumber = Right(phoneNumber, NNLen)
phoneNumber = "+" & "44 " & NNumber
Else
phoneNumber = "+" & "44 " & "20" & phoneNumber
End If
If Mid(phoneNumber, 2,1) = "1" Then
phoneNumber = NANP_CCodeReformated(phoneNumber)
End If

End If
ReformatedNumber = phoneNumber

End Function

Function NANP_CCodeReformated(phoneNumber)
phoneNumber = Join(Split(phoneNumber), "")
If Len(phoneNumber) 5 Then
phoneNumber = Left(phoneNumber, 2) & " " & _
Mid(phoneNumber, 3,3) & " " & _
Mid(phoneNumber, 6,Len(phoneNumber)-5)
Else
phoneNumber = Left(phoneNumber, 2) & " " & _
Mid(phoneNumber, 3,Len(phoneNumber)-2)
End If
NANP_CCodeReformated = phoneNumber
End Function



  #3  
Old July 17th 06, 12:48 PM posted to microsoft.public.outlook.contacts
jkos13
external usenet poster
 
Posts: 6
Default form's VBscript disabled after the first save

Using "Item.GovernmentIDNumber" instead of
"Item.UserProperties.Find("GovernmentIDNumber" , False)" has worked.

many thanks

"Sue Mosher [MVP-Outlook]" wrote:

If the form doesn't run code after you have sent or saved an item using the published form, you probably have done something to "one-off" the form. Outlook 2003, Outlook 2002, Outlook 2000 SP2 and Outlook 2000 or 98 with the Email Security Update will not run code on one-off forms; see http://www.outlookcode.com/d/secforms.htm for more information on this issue.

GovernmentIDNumber is a built-in property, not a custom property. You should access it with Item.GovernmentIDNumber, not through the UserProperties collection.

FYI, there is a newsgroup specifically for Outlook forms issues "down the hall" at microsoft.public.outlook.program_forms or, via web interface, at http://www.microsoft.com/office/comm...rogram_f orms

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003
http://www.turtleflock.com/olconfig/index.htm
and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
http://www.outlookcode.com/jumpstart.aspx

"j1313" wrote in message ...
If I open a new form then save it its all good but if i then try to edit this
new contact, the VB script in the form is disabled and events do not take
place (eg at contact item write).

Some things I've tried:
* I Opened the newly saved contact where the scripts don't work and went to
tools/forms/design this form, and then in the form design window to form/view
code and the script code is all there. I go to form/run this form and the
form runs with the scripts.


I've narrowed things down to using method: "item.UserProperties.Find"



in
Function Item_Write()
...
item.UserProperties.Find("GovernmentIDNumber", False)


#############################################

.
.
.

 




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
remove disabled users calendar Joe S. Outlook - Calandaring 6 February 23rd 10 03:22 PM
Edit labels in calendar is disabled. Why? MarcR57 Outlook - Calandaring 2 May 11th 06 03:13 PM
Macros disabled Larry Outlook and VBA 1 March 23rd 06 08:50 PM
OE disabled URL links in SP2? jq3bn1 Outlook Express 7 February 2nd 06 09:33 PM


All times are GMT +1. The time now is 05:59 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2025 Outlook Banter.
The comments are property of their posters.