Excel
VBA ile barkod nesneleri

 Standard veya daha yüksek

VBA ile barkodları kullanma ve otomatikleştirme Excel

Excel'de birçok şeyi çözmek için VisualBasic for Applications (VBA) kullanabilirsiniz. Burada size ActiveBarcode kontrolünü VBA ile nasıl gömeceğinizi, kullanacağınızı ve sileceğinizi göstereceğiz:

ActiveBarcode Kontrolünü bir Sayfaya Yerleştirme:
Bu örnekte, bir barkod kontrolü doğrudan bir hücrenin üzerine yerleştirilecektir. O zaman barkod bir hücrenin içindeymiş gibi görünür.

Önce hücre boyutunu okuyoruz:

CurrentCell = "C3"
MyHeight = Range(CurrentCell).Height
MyWidth = Range(CurrentCell).Width
MyTop = Range(CurrentCell).Top
MyLeft = Range(CurrentCell).Left
Barkodun sığabilmesi için bir hücrenin minimum boyutta olması gerektiğini lütfen unutmayın. Hücre çok küçükse bir Boyut hatası görüntülenecektir. Bu yüzden hücrenin yüksekliğini 30 piksel olarak yeniden boyutlandırıyoruz:
' Enlarge the cell height to 30 pixels
Range(CurrentCell).RowHeight = 30
Aşağıdaki fonksiyon, barkod kontrolünü doğrudan hücrenin üzerinde oluşturacaktır:
ActiveSheet.OLEObjects.Add(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", Link:=False, _
 DisplayAsIcon:=False, Width:=MyWidth , Height:=MyHeight, Top:=MyTop + 2,_
 Left:=MyLeft + 4).Select
Barkod nesnesini doğrudan bir hücreye bağlayabilirsiniz:
ActiveSheet.OLEObjects(MyBarcode).LinkedCell = "B7"
Kontrole kolay erişim sağlamak için kontrolün adını MyBarcode değişkeninde saklarız:
MyBarcode = ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Name
Artık barkod nesnesinin özelliklerini ve metotlarını istediğiniz gibi kullanabilirsiniz:
' set properties
ActiveSheet.OLEObjects(MyBarcode).Object.Font.Size = 8
ActiveSheet.OLEObjects(MyBarcode).Object.Type = 14 ' Code 128
ActiveSheet.OLEObjects(MyBarcode).Object.Text = Range("C3")
Kontrole artık ihtiyacınız yoksa sayfadan silebilirsiniz:
ActiveSheet.OLEObjects(MyBarcode).Delete
İpucu: Windows'un yaklaşan olayları (genellikle KeepWindowsAlive olarak adlandırılır) bir makro içinde işlemesi gerekiyorsa, aşağıdaki VBA işlevini kullanarak bunu zorlayabilirsiniz:
DoEvents
Bu, örneğin Kontrolün kendisini yeni çizmesi gerekiyorsa gerekli olabilir.