MartyConnelly
martyconnelly at shaw.ca
Mon Aug 7 13:27:02 CDT 2006
Err the Object Browser should tell you the data type being returned. if you have the reference set. MartyConnelly wrote: >If you are setting it, you must be returning an object rather than a >variant. >Set a reference to bartender and look at the values in the Object Browser >libary for Bartender to see what they should be set to. > >Rocky Smolin - Beach Access Software wrote: > > > >>Marty: >> >>I deleted the Reference to Bartender and changed the declarations to: >> >>Public BtApp As Object 'BarTender.Application >>Public BtFormat As Variant 'BarTender.Format >> >>In the load event I put: >> >>Set BtApp = CreateObject("BarTender.Application") >>In the Print event however, on the line >> >>Set BtFormat = BtApp.Formats.Open(Me.fldFABLabelFile) >> >>I get an 'argument not optional' error. With the old declarations it >>worked. Any idea what's going wrong? >> >>Thanks and regards, >> >>Rocky >> >> >>MartyConnelly wrote: >> >> >> >> >>>You are mixing Early and Late Binding methods >>>First remove the reference >>>Then just change your declarations to things like >>> >>>Public BtApp As Object 'BarTender.Application >>>Public BtFormat As String 'BarTender.Format >>> >>> >>>If you are unsure of the type returned try using a variant >>>especially in the case of returned arrays. >>> >>>or leave both types in and do a conditional compile around them >>> >>>#Const DebugVersion = 0 >>> >>>#if DebugVersion = 1 then >>> Dim wa as BarTender.Application >>> Set wa = new BarTender.Application >>>#else >>> Dim wa as Object >>> set wa = createobject ("BarTender.Application") >>>#endif >>>You'l have to set the flag to 1 >>> (#Const DebugVersion = 1) >>>and then add a reference to Bartender >>>for the debug intellisence to work.. >>> >>>Then to check if Bartender is actually installed on the machine >>> >>> On Error Resume Next >>>Set objExcelapp = CreateObject("BarTender.Application") >>>If Err.Number Then >>> MsgBox "Bartender not installed or not registered for Automation" >>> Exit Sub >>> End If >>>'reset error >>> >>> >>> >>> >>>Rocky Smolin - Beach Access Software wrote: >>> >>> >>> >>> >>> >>> >>>>Dear List: >>>> >>>>I have a client who prints bar coded labels through an application >>>>called Bartender (cute, huh?). I wrote a production management system >>>>for them which contains all the information in the db that they are >>>>inputting manually into Bartender. So the client asked me to add a >>>>function to the app to run Bartender from the production system and that >>>>is working great. >>>> >>>>To do this I downloaded and installed the trial version of Bartender and >>>>so was able to set a reference to it in the VBA code so I could run >>>>Bartender from the client's app (stuff like Public BtApp As >>>>BarTender.Application and Public BtFormat As BarTender.Format and Set >>>>BtApp = CreateObject("BarTender.Application")). >>>> >>>>Problem is that the app won't run on any machine which doesn't have >>>>Bartender loaded - it gets a broken reference error when the app opens. >>>> >>>>So I'm wondering how to handle this. Perhaps I unset the reference in >>>>the Tools-->References and set it when the bar code form opens? Or is >>>>there a way to trap and get around this error when the app loads? >>>> >>>>What's the best way to handle this? >>>> >>>>MTIA, >>>> >>>>Rocky >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >>> >>> >> >> >> >> > > > -- Marty Connelly Victoria, B.C. Canada