Trying to Printing Outlook 2013 form through Word issues

Hi,
I am new to Outlook programming and am trying to print a form from Outlook 2013.  It defaults to printing a summary version of the form, which is not what I want.  I saw a previous post in this forum about using Outlook to open up and print the form correctly from Word.

I am having issues if I run the form as a macro, it will open up in Word, however the data will not pull in.  I do get an error that is labeled Microsoft Visual Basic and the error is Run-time error '91'.  Object variable or With block variable not set.  Here is my script and I have the word template attached as well.  Can someone help me or point me in the right direction?

Sub printOrSave
    ' Print or preview the Word document
     Dim oWordApp ' As Word.Application
     Dim strMyField ' As String
     Dim oDoc ' As Word.Document
     Dim bolPrintBackground
     
     Set oWordApp = CreateObject("Word.Application")
     If oWordApp Is Nothing Then
     MsgBox "Couldn't start Word."
     
     Else
     oWordApp.Visible = True
     ' Open a new document
     
    Set olkMsg = Application.ActiveInspector.CurrentItem

     Set oDoc = oWordApp.Documents.Add("C:\FormFieldSample.dot", True, , True)
                                    'Template, NewTemplate, DocumentType, Visible
   
   'Map the data in the Outlook form the the field in the word template
    ' Set the first bookmark to the To Field

    oDoc.Bookmarks("txtTo").Result = olkMsg.UserProperties.Item("txtTo").Value
    oDoc.FormFields("txtCC").Result = olkMsg.UserProperties.Item("txtCC").Value
    oDoc.FormFields("txtSubject").Result = olkMsg.UserProperties.Item("txtSubject").Value
    oDoc.FormFields("ddChangeReason").Result = olkMsg.UserProperties.Item("dddChangeReason").Value
    oDoc.FormFields("ckbxAllWeekDays").Result = olkMsg.UserProperties.Item("ckbxAllWeekDays").Value
    oDoc.FormFields("ckbxAll").Result = olkMsg.UserProperties.Item("ckbxAll").Value
    oDoc.FormFields("ckbxSunday").Result = olkMsg.UserProperties.Item("ckbxSunday").Value
    oDoc.FormFields("ckbxMonday").Result = olkMsg.UserProperties.Item("ckbxMonday").Value
    oDoc.FormFields("ckbxTuesday").Result = olkMsg.UserProperties.Item("ckbxTuesday").Value
    oDoc.FormFields("ckbxWednesday").Result = olkMsg.UserProperties.Item("ckbxWednesday").Value
    oDoc.FormFields("ckbxThursday").Result = olkMsg.UserProperties.Item("ckbxThursday").Value
    oDoc.FormFields("ckbxTRIA").Result = olkMsg.UserProperties.Item("ckbxTRIA").Value
    oDoc.FormFields("ckbxFriday").Result = olkMsg.UserProperties.Item("ckbxFriday").Value
    oDoc.FormFields("ckbxSaturday").Result = olkMsg.UserProperties.Item("ckbxSaturday").Value
    oDoc.FormFields("ckbxWeekendsOnly").Result = olkMsg.UserProperties.Item("ckbxWeekendsOnly").Value
    oDoc.FormFields("txtEDOC").Result = olkMsg.UserProperties.Item("txtEDOC").Value
    oDoc.FormFields("txtChangeInfo").Result = olkMsg.UserProperties.Item("txtChangeInfo").Value

     ' Get the current Word setting for background printing
     bolPrintBackground = oWordApp.Options.PrintBackground

     ' Turn background printing off
   oWordApp.Options.PrintBackground = False
    If action = "print" Then
        oDoc.PrintOut

    ' Restore previous setting
         oWordApp.Options.PrintBackground = bolPrintBackground

    ' Close and don't save changes to the document
         Const wdDoNotSaveChanges = 0
         oDoc.Close wdDoNotSaveChanges

         ' Close the Word instance
         oWordApp.Quit

         ' Clean up
         Set oDoc = Nothing
         Set oWordApp = Nothing
    Else
         oDoc.PrintPreview
End If
End If
End Sub

Open in new window

FormFieldSamples.dot
Word HelpAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

GrahamSkanRetiredCommented:
In Word, a bookmark object does not have a .Result property or method. Try using  .Range.Text  instead
 
 oDoc.Bookmarks("txtTo").Range.Text = olkMsg.UserProperties.Item("txtTo").Value

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Word HelpAuthor Commented:
Thank you so much for the help.  Where can I find out more information about properties/methods and also how to use them?  I have tried reading the information out on msdn but it is not easy to understand how to use them.  I have been piecing things together here and there.  

Using the .Range.Text worked for my text boxes but I also have some check boxes as well as a drop down box.
I get a runtime error 91 Object variable or With block variable not set error when I use this:
    oDoc.Bookmarks("All").Range.Value = olkMsg.UserProperties.Item("ckbxAll").Value

Can you point me to what type of code to use for checkbox values and drop down values?
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Outlook

From novice to tech pro — start learning today.