Make sure you enable the macros when opening the document. In Word 2000 also make sure that the macro security level is set to medium. (Check under Tools|Macro|Security).
- Copy the
Sub InsertBarCodes()
Routine to the clipboard by highlighting it and pressing Ctrl + C. - In Microsoft Word, Open the Visual Basic Editor by pressing Alt + F11
- Insert a new Module, by clicking on Insert|Module
- Paste the code into the module
- Run the macro by going to the “Tools” menu, selecting “macro” and clicking on “Macros” and then double clicking on “InsertBarCodes” from the list.
Sub InsertBarCodes() ' InsertBarCodes Macro ' Macro written 6/28/01 Dim YouWantThisSubToLaunchBCoder Dim BCoderPath$ Dim BCPath$ Dim Chan On Error Resume Next ' ignore errors 'Delete barcode image file if it exists Kill ("C:\barcode.wmf") If Application.Documents.Count < 1 Then Beep MsgBox "This macro cannot be run with no documents open!" GoTo Quit End If YouWantBCoderToExitWhenDone = 0 ' change the above line to: ' "YouWantBCoderToExitWhenDone = 1" ' to have B-Coder quit running at the end of this macro ' check if B-Coder path is registered in WIN.INI BCoderPath$ = System.ProfileString("B-Coder", "ExePath") If Len(BCoderPath$) = 0 Then ' if path isn't registered then assign the path here BCoderPath$ = "C:\B-Coder\B-Coder.Exe" ' Change the path in the above statement to point to ' your copy of B-Coder. ' add path to Win.ini System.ProfileString("B-Coder", "ExePath") = BCoderPath$ Else 'B-Coder path is in the WIN.INI - allow automatic launching YouWantThisSubToLaunchBCoder = 1 End If If Not Tasks.Exists("B-Coder Professional") Then ' If B-Coder is already running then do not launch Shell BCoderPath$, 2 ' The above line launches B-Coder with its window minimized ' The ,2 is part of the Shell statement in VBA that ' indicates to run the application minimized. ' set focus back to Word Tasks("Microsoft Word").Activate End If 'If Bcoder path is incorrect then warn user If Tasks.Exists("B-CODER Professional") = 0 Then ' Check if B-Coder is running MsgBox "B-Coder is not running! - B-Coder must be running either in a window or as an icon for this macro to work. Please start B-Coder and try again." GoTo Quit End If 'Get Message to encode BCData$ = InputBox("enter a bar code message:") ' remove any carriage return/line feeds ' from the selected text If Right$(BCData$, 1) = Chr(13) Then BCData$ = Left$(BCData$, Len(BCData$) - 1) ElseIf Right$(BCData$, 1) = Chr(10) Then BCData$ = Left$(BCData$, Len(BCData$) - 2) End If ' strip off trailing spaces BCData$ = RTrim$(BCData$) ' if no text is selected then quit If Len(BCData$) = 0 Then GoTo Quit ' Initiate DDE link Chan = DDEInitiate("B-Coder", "System") ' Turn off print warnings/message warnings DDEExecute Chan, "[PrintWarnings=off]" DDEExecute Chan, "[MessageWarnings=off]" ' Set B-Coder to Code 39 DDEExecute Chan, "[CODE39]" ' Set height to quarter inch DDEExecute Chan, "[BARHEIGHT=0.25]" ' generate the bar code DDEExecute Chan, "[barcode=" + BCData$ + "]" 'Save the barcode to disk DDEExecute Chan, "[SAVEBARCODE(C:\barcode.wmf)]" ' Terminate the DDE link DDETerminate Chan 'open header/footer view ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter 'Use the following line to insert 'the barcode into the Header: 'ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader 'Delete last barcode if exists Selection.Delete Unit:=wdCharacter, Count:=1 'insert barcode image Selection.InlineShapes.AddPicture FileName:="C:\barcode.wmf", _ LinkToFile:=False, SaveWithDocument:=True 'close header/footer view ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument Quit: End Sub