Chad,
Fabulous!  Thanks so much.  
Yes, I dive in fearlessly -- I learn best that way.  
My only problem now is that the carriage return (hard enter) is not working.  Here is my script -- It's almost identical to the Bill to address except that I renamed the string variable because I didn't know if I could use the same variable name twice.
 
 
Private Sub OnBeforePrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs)
'Create a carriage return variable, for simplicity
dim aNewLine as String = Microsoft.VisualBasic.ChrW(13) + Microsoft.VisualBasic.ChrW(10)
xrShipAdd.Text = GetCurrentColumnValue("ShipAddressAddr1") _
+ Microsoft.VisualBasic.Interaction.IIf(GetCurrentColumnValue("ShipAddressAddr2") <> String.Empty,aNewLine + GetCurrentColumnValue("ShipAddressAddr2"),"") _
+ Microsoft.VisualBasic.Interaction.IIf(GetCurrentColumnValue("ShipAddressAddr3") <> String.Empty,aNewLine + GetCurrentColumnValue("ShipAddressAddr3"),"") _
+ Microsoft.VisualBasic.Interaction.IIf(GetCurrentColumnValue("ShipAddressCity") <> String.Empty,aNewLine + GetCurrentColumnValue("ShipAddressCity") + ", " + GetCurrentColumnValue("ShipAddressState") + " " + GetCurrentColumnValue("ShipAddressPostalCode"),"") _
+ Microsoft.VisualBasic.Interaction.IIf(GetCurrentColumnValue("ShipAddressCountry") <> String.Empty,aNewLine + GetCurrentColumnValue("ShipAddressCountry"),"") 
End Sub
 
 
Also, this is so similar to VBA.  Can you recommend a book on scripts?  
Thanks again!!!
Carol