MartyConnelly
martyconnelly at shaw.ca
Mon Aug 7 13:20:18 CDT 2006
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