using VB Script Using BarTenders Document-Level Scripts to Change Text, Barcode, and other Objects at Print-Time The World's Leading Software for Label, Barcode, RFID & Card Printing White Paper Page 2 Contents Overview ............................................................................................ 3 Object Automation ............................................................................ 3 Programmatically Modifying Label Object Properties ............................... 3 Document-Level VB Script Support ................................................ 3 List of New Document-Level Events ........................................................... 4 On-the-fly Modification of Object Properties .................................. 4 Support for Data-Sourced VB Script ........................................................... 5 Sample Document......................................................................................... 5 White Paper: Dynamically Changing Objects at Print Time using VB Script Page 3 Overview By combining two features, Object Automation and Document-Level VB Script Support (both introduced in version 9.3 and described below), you can create labels that dynamically change the appearance of objects during a print job depending on the data being printed. Object Automation When we talk about automating BarTender, we refer to the general process of controlling BarTender from within other software. When we talk about object automation, we are referring more specifically to the process of manipulating individual objects on the label, such as barcodes and text. This is in contrast to application automation functions, such as loading a label format or printing it. Programmatically Modifying Label Object Properties BarTenders automation commands to support changing an objects position, size, color, and visibility under programmatic control. These commands can be issued from inside BarTender using VB Script or issued from outside of BarTender using our ActiveX Automation interface. This interface lets you change properties like: Position Color Size Visibility Font For full documentation on all object properties, see the Automating BarTender section in the BarTender online help system. Document-Level VB Script Support BarTender supports the execution of VB Script in response to a variety of document- level events, including open, close, save and a variety of print-time events. You can call the Object Automation functions from within this VB Script to programmatically modify BarTender label objects before and even during print jobs. To access the document-level VB Script, select Label Format Options from the File menu, and view the VB Scripting tab. White Paper: Dynamically Changing Objects at Print Time using VB Script Page 4 List of New Document-Level Events The VB Scripting tab provides access to the VB Script assistant where you can define scripts for the following document-level events: OnOpen Executed when the document is opened. OnClose Executed when the document is closed. OnSave Executed when the document is saved. OnPrintJobStart Executed when the document is begins printing. OnNewRecord Executed during printing, each time a new record is read from the database. This is the event that will most often be used to change objects during the middle of a print job. OnSerialize Executed during printing, each time there is an opportunity for a serial number to change. OnIdenticalCopy Executed during printing, each before every label that is printed, even identical copies. OnPrintJobEnd Executed when the printing of the document ends normally. OnPrintJobCancel Executed when the printing of the document is canceled. On-the-fly Modification of Object Properties A common use case for this feature would be to change objects in response to the data coming from a database. In this case you would write a script for the OnNewRecord event. You could change the color of a text object, depending on whether or not a warning condition was indicated. For example, you could write the following script for the OnNewRecordEvent. Set Notice = Objects(Notice Text) If (Field(Condition) = Warning) Then Notice.TextColor = btColor.Red Else Notice.TextColor = btColor.Green End If White Paper: Dynamically Changing Objects at Print Time using VB Script Page 5 If you wanted to have a field in your database contain the name of a color like red or yellow, you could use the code below to set the color of an object. Objects(Box 1).FillColor = BtColor.FromName(Field(Color)) You can hide or show objects based the data that is printed. You can either use an objects Visible property, or you can simply move it on or off of the design area, using its X and Y properties. For example: Set RedBar = Objects(Red Bar) If (Field(Weight) >= 50) Then RedBar.PrintVisibility = True Else RedBar.PrintVisibility = False End If Support for Data-Sourced VB Script You can even feed VB Script into BarTender from external sources, such as a database or a program that is controlling BarTender. For example, you could have a field in a database contain VB Script code. Then, when BarTender reads the data record that contains that field, VB Script code in BarTender can use the VB Execute statement or the Eval function to execute the imported VB Script code. This could be done to let a field in a database source the color for an object on the label. For example, if you had a field in your database that was supposed to contain the color for a line object, you could use the following code to treat that field as VB Script code. Objects(Condition Bar).LineColor = Eval(Field(Condition Color)) Then the Condition Color field in your database could contain values like BtColor.FromRGB(255,0,0) or BtColor.Red. Sample Document The GHS_Demo.btw file that is installed with BarTender is a good example of a VB Script that changes objects size, color, and moves them on and off of the design area to control visibility.
Version: 2012-09-12 15:00 Copyright 2012 Seagull Scientific, Inc.
Available Seagull White Papers General White Papers The Advantage of Drivers by Seagull Companion Applications Printer Maestro: True Enterprise Print Management for Windows Librarian BarTender Security Center BarTender Web Print Server Recent Upgrades Whats New in the Latest BarTender Integration White Papers Integration Overview Commander Commander Examples BarTender's .NET SDKs BarTender's ActiveX Automation Interface Exporting Printer Code Templates Using BarTender with Remote Desktop Services and Citrix XenApp Integration with Oracle's WMS and MSCA Integration with IBM WebSphere Sensor Events Integration with SAP Miscellaneous White Papers Weighing Scales Dynamically Changing Objects at Print Time using VB Script GHS Compliance Labeling Licensing for BarTender's Automation Editions Printing International Characters Using BarTender BarTender Software Activation Using BarTender's Application Identifier Wizard Optimizing Output Performance Status Monitor Overview Silent Install For downloadable versions, visit: www.seagullscientific.com/aspx/white-papers.aspx
JavaScript Fundamentals: JavaScript Syntax, What JavaScript is Use for in Website Development, JavaScript Variable, Strings, Popup Boxes, JavaScript Objects, Function, and Event Handlers: JavaScript Syntax, What JavaScript is Use for in Website Development, JavaScript Variable, Strings, Popup Boxes, JavaScript Objects, Function, and Event Handlers
JavaScript Fundamentals: JavaScript Syntax, What JavaScript is Use for in Website Development, JavaScript Variable, Strings, Popup Boxes, JavaScript Objects, Function, and Event Handlers
JavaScript Fundamentals: JavaScript Syntax, What JavaScript is Use for in Website Development, JavaScript Variable, Strings, Popup Boxes, JavaScript Objects, Function, and Event Handlers: JavaScript Syntax, What JavaScript is Use for in Website Development, JavaScript Variable, Strings, Popup Boxes, JavaScript Objects, Function, and Event Handlers
JavaScript Fundamentals: JavaScript Syntax, What JavaScript is Use for in Website Development, JavaScript Variable, Strings, Popup Boxes, JavaScript Objects, Function, and Event Handlers