Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Custom form no longer works with Office 2010

Posted on 2010-09-02
4
Medium Priority
?
948 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
2 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

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Question has a verified solution.

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

The main intent of this article is to make you aware of ‘Exchange fail to mount’ error, its effects, causes, and solution.
Steps to fix “Unable to mount database. (hr=0x80004005, ec=1108)”.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
Suggested Courses

877 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