Solved

Custom form no longer works with Office 2010

Posted on 2010-09-02
4
935 Views
Last Modified: 2012-05-10
On our Exchange 2003 server, we host a number of custom forms.  The form we're having a problem with essentially acts as a menu system, with buttons containing links to open other forms.  This page works fine with Office 2007, but doesn't work with Office 2010.  

When I click on a button to open a form, I get "The attempted operation failed.  An object could not be found."  However, I can open this same form outside of the "menu system" form.

I'm attaching the code for the "menu system" form in case it's of any use.

Sub NAR_Click()
   Set myFolder1 = Session.Folders("Public Folders")
   Set myFolder2 = myFolder1.Folders("All Public Folders")
   Set myFolder3 = myFolder2.Folders("Forms")
   Set myItem = myFolder3.Items.Add("IPM.Post.NAR")
   myItem.Display
End Sub

Sub EEF_Click()
   Set myFolder1 = Session.Folders("Public Folders")
   Set myFolder2 = myFolder1.Folders("All Public Folders")
   Set myFolder3 = myFolder2.Folders("Forms")
   Set myItem = myFolder3.Items.Add("IPM.Post.EEF")
   myItem.Display
End Sub

Sub SCF_Click()
   Set myFolder1 = Session.Folders("Public Folders")
   Set myFolder2 = myFolder1.Folders("All Public Folders")
   Set myFolder3 = myFolder2.Folders("Forms")
   Set myItem = myFolder3.Items.Add("IPM.Post.SCF")
   myItem.Display
End Sub

Sub NERF_Click()
   Set myFolder1 = Session.Folders("Public Folders")
   Set myFolder2 = myFolder1.Folders("All Public Folders")
   Set myFolder3 = myFolder2.Folders("Forms")
   Set myItem = myFolder3.Items.Add("IPM.Post.NERF")
   myItem.Display
End Sub

Sub SNCF_Click()
   Set myFolder1 = Session.Folders("Public Folders")
   Set myFolder2 = myFolder1.Folders("All Public Folders")
   Set myFolder3 = myFolder2.Folders("Forms")
   Set myItem = myFolder3.Items.Add("IPM.Post.Name Change")
   myItem.Display
End Sub

Sub ViewCalendar_Click()
   Set myFolder1 = Session.Folders("Public Folders")
   Set myFolder2 = myFolder1.Folders("All Public Folders")
   Set myFolder3 = myFolder2.Folders("Room and Resource Schedule")
   Set myItem = myFolder3.Items.Add("IPM.Post.Room and Resource Calendar")
   myItem.Display
End Sub


Function Item_Open()
	Set MyPage = Item.GetInspector.ModifiedFormPages("Message")
      MyPage.WebBrowser1.Navigate("https://whatever.com")
End Function

Sub MaintRequest_Click()
	Set MyPage = Item.GetInspector.ModifiedFormPages("Message")
      MyPage.WebBrowser1.Navigate("https://whatever.com")
End Sub

Sub ItRequest_Click()
	Set MyPage = Item.GetInspector.ModifiedFormPages("Message")
      MyPage.WebBrowser1.Navigate("https://whatever.com")
End Sub

Sub RoomResource_Click()
	Set MyPage = Item.GetInspector.ModifiedFormPages("Message")
      MyPage.WebBrowser1.Navigate("https://whatever.com")
End Sub
    

Open in new window

0
Comment
Question by:mgudites1
[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
4 Comments
 
LVL 10

Expert Comment

by:rscottvan
ID: 33692554
Outlook 2010 allows multiple Exchange accounts for each user, so you need code to specify the Exchange account in use.  Assuming each of your users has only one Exchange account configured, I think the attached code should be about right.  (Since you only posted partial code, I can't say for sure, but this should get you on the right path.)

Have a look at this article for a more thorough explanation:
http://blogs.msdn.com/b/brijs/archive/2010/07/30/how-to-get-reference-to-public-folder-store-using-outlook-object-model-for-outlook-2010.aspx
Set olns =Item. Application.GetNamespace("MAPI")
Set accs = olns.Accounts



Sub NAR_Click()
   For Each Account In accs
	   Set myFolder1 = Session.Folders("Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder2 = myFolder1.Folders("All Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder3 = myFolder2.Folders("Forms" & " - " & Account.SmtpAddress)
	   Set myItem = myFolder3.Items.Add("IPM.Post.NAR")
	   myItem.Display
   Next
End Sub

Sub EEF_Click()
   For Each Account In accs
	   Set myFolder1 = Session.Folders("Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder2 = myFolder1.Folders("All Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder3 = myFolder2.Folders("Forms" & " - " & Account.SmtpAddress)
	   Set myItem = myFolder3.Items.Add("IPM.Post.EEF")
	   myItem.Display
   Next
End Sub

Sub SCF_Click()
   For Each Account In accs
	   Set myFolder1 = Session.Folders("Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder2 = myFolder1.Folders("All Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder3 = myFolder2.Folders("Forms" & " - " & Account.SmtpAddress)
	   Set myItem = myFolder3.Items.Add("IPM.Post.SCF")
	   myItem.Display
   Next
End Sub

Sub NERF_Click()
   For Each Account In accs
	   Set myFolder1 = Session.Folders("Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder2 = myFolder1.Folders("All Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder3 = myFolder2.Folders("Forms" & " - " & Account.SmtpAddress)
	   Set myItem = myFolder3.Items.Add("IPM.Post.NERF")
	   myItem.Display
   Next
End Sub

Sub SNCF_Click()
   For Each Account In accs
	   Set myFolder1 = Session.Folders("Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder2 = myFolder1.Folders("All Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder3 = myFolder2.Folders("Forms" & " - " & Account.SmtpAddress)
	   Set myItem = myFolder3.Items.Add("IPM.Post.Name Change")
	   myItem.Display
   Next
End Sub

Sub ViewCalendar_Click()
	   For Each Account In accs
	   Set myFolder1 = Session.Folders("Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder2 = myFolder1.Folders("All Public Folders" & " - " & Account.SmtpAddress)
	   Set myFolder3 = myFolder2.Folders("Room and Resource Schedule" & " - " & Account.SmtpAddress)
	   Set myItem = myFolder3.Items.Add("IPM.Post.Room and Resource Calendar" & " - " & Account.SmtpAddress)
	   myItem.Display
   Next
End Sub


Function Item_Open()
	Set MyPage = Item.GetInspector.ModifiedFormPages("Message")
      MyPage.WebBrowser1.Navigate("https://whatever.com")
End Function

Sub MaintRequest_Click()
	Set MyPage = Item.GetInspector.ModifiedFormPages("Message")
      MyPage.WebBrowser1.Navigate("https://whatever.com")
End Sub

Sub ItRequest_Click()
	Set MyPage = Item.GetInspector.ModifiedFormPages("Message")
      MyPage.WebBrowser1.Navigate("https://whatever.com")
End Sub

Sub RoomResource_Click()
	Set MyPage = Item.GetInspector.ModifiedFormPages("Message")
      MyPage.WebBrowser1.Navigate("https://whatever.com")
End Sub

Open in new window

0
 
LVL 1

Accepted Solution

by:
mgudites1 earned 0 total points
ID: 33830188
We figured out what it was.

"In Office 2010 the public folder is actually called "Public Folders - <user email>"  so for instance mine would be "Public Folders - xxx@whatever.edu" and yours would be "Public Folders - xxx@whatever.edu".  If that is indeed the case that is what I was thinking the problem was, it is not able to find the forms because it is just looking for "Public Folders" "
0

Featured Post

Does Powershell have you tied up in knots?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

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

This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Many people use more than one email account and so it becomes difficult for them to manage them when they use separate accounts,  so, in this article, I have shared an easy way to add Other Mail Accounts in your Google Inbox. It helps to combine all…
In this video we show how to create an email address policy in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Mail Flow…
In this video we show how to create a mailbox database in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Servers >> Data…

756 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