Excel
Obiekty kodów kreskowych w arkuszu kalkulacyjnym

 Standard lub wyższy

Osadzanie i automatyzacja kodu kreskowego w arkuszu Excel

Excel 365, 2024, 2021, 2019, 2016, 2013, 2010
Poniżej znajduje się krótki opis sposobu dodawania kodu kreskowego do dokumentu Excel i łączenia go z zawartością komórki.

Najpierw uruchom program Excel i utwórz lub otwórz dokument.

Upewnij się, że program Excel został skonfigurowany w taki sposób, aby wyświetlana była karta Deweloper. Aby to zrobić, przejdź do Opcji programu Excel, klikając kartę Plik. Spowoduje to przejście do widoku Backstage. Następnie kliknij Opcje w grupie kart po lewej stronie.ActiveBarcode: Barcode, Excel


1


W sekcji Dostosuj wstążkę włącz opcję Deweloper na głównych kartach, a następnie zamknij okno opcji.ActiveBarcode: Barcode, Excel


2


Teraz można osadzić element sterujący ActiveBarcode w dokumencie. Wybierz kartę Developer. Kliknij przycisk Insert z zakresu ActiveX Controls, a następnie wybierz More Controls.ActiveBarcode: Barcode, Excel


3


Na ekranie pojawi się okno dialogowe:ActiveBarcode: Barcode, Excel


4


Wybierz ActiveBarcode i kliknij OK. W dokumencie zostanie utworzony kod kreskowy. Będzie to standardowy kod kreskowy EAN-128. Jest to typ domyślny. Można go zmienić na dowolny typ kodu kreskowego obsługiwany przez ActiveBarcode: QR Code, GS1/EAN-128, Data Matrix, GTIN/EAN-13, Code 39, Code 93, GS1-Data Matrix, Code 128, PDF417, DUN-14, EAN-8, EAN-14, EAN-18, ISBN, ITF-14, NVE, PZN8, SCC-14, SSCC-18 ...Kod kreskowy można teraz modyfikować. Możesz zmienić typ, tekst, kolory itp. Aby to zrobić, kliknij prawym przyciskiem myszy wewnątrz kodu kreskowego. Otworzy się menu podręczne: ActiveBarcode: Barcode, Excel


5


Wybierz ActiveBarcode Object, a następnie Properties. Otworzy się okno dialogowe właściwości ActiveBarcode. Kod kreskowy można modyfikować w dowolny sposób.

Alternatywnie można użyć okna dialogowego właściwości programu Excel. Aby to zrobić, kliknij przycisk Właściwości w zakresie Kontrolki:ActiveBarcode: Barcode, Excel


6


Tworzenie łącza między komórką a kodem kreskowym: Otwórz okno dialogowe właściwości programu Excel w sposób opisany powyżej. Aktywuj obiekt kodu kreskowego, klikając go jeden raz. Właściwości obiektu kodu kreskowego zostaną wyświetlone w oknie dialogowym właściwości. Poszukaj właściwości o nazwie LinkedCell. Ta właściwość tworzy łącze między komórką a kodem kreskowym:ActiveBarcode: Barcode, Excel


7


Wprowadź nazwę komórki dla łącza do tej właściwości. To wszystko!

Jeśli chcesz utworzyć kod kreskowy, który koduje dane z kilku komórek, musisz najpierw połączyć te komórki w komórkę pomocniczą. Następnie połączyć tę połączoną komórkę z obiektem kodu kreskowego.

W poniższym przykładzie zawartość komórek B3 i B4 jest łączona w komórce B6. Komórka B6 jest połączona z obiektem kodu kreskowego.ActiveBarcode: Barcode, Excel

Używanie i automatyzacja kodów kreskowych za pomocą VBA w Excel

VisualBasic for Applications (VBA) może być używany do rozwiązywania wielu problemów w Excelu. Tutaj pokażemy, jak osadzać, używać i usuwać kontrolkę ActiveBarcode za pomocą VBA:

Osadzanie kontrolki ActiveBarcode w arkuszu:
W tym przykładzie kontrolka kodu kreskowego zostanie umieszczona bezpośrednio nad komórką. Wygląda to tak, jakby kod kreskowy znajdował się wewnątrz komórki.

Najpierw odczytujemy rozmiar komórek:
CurrentCell = "C3"
MyHeight = Range(CurrentCell).Height
MyWidth = Range(CurrentCell).Width
MyTop = Range(CurrentCell).Top
MyLeft = Range(CurrentCell).Left
Należy pamiętać, że komórka powinna mieć minimalny rozmiar, aby kod kreskowy mógł się w niej zmieścić. Jeśli komórka jest zbyt mała, zostanie wyświetlony Błąd rozmiaru. Zmieniamy więc wysokość komórki na 30 pikseli:
' Enlarge the cell height to 30 pixels
Range(CurrentCell).RowHeight = 30
Poniższa funkcja utworzy kontrolkę kodu kreskowego bezpośrednio nad komórką:
ActiveSheet.OLEObjects.Add(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", Link:=False, _
 DisplayAsIcon:=False, Width:=MyWidth , Height:=MyHeight, Top:=MyTop + 2,_
 Left:=MyLeft + 4).Select
Można bezpośrednio połączyć obiekt kodu kreskowego z komórką:
ActiveSheet.OLEObjects(MyBarcode).LinkedCell = "B7"
Aby uzyskać łatwy dostęp do kontrolki, przechowujemy jej nazwę w zmiennej MyBarcode:
MyBarcode = ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Name
Teraz możesz używać właściwości i metod obiektu kodu kreskowego, jak chcesz:
' set properties
ActiveSheet.OLEObjects(MyBarcode).Object.Font.Size = 8
ActiveSheet.OLEObjects(MyBarcode).Object.Type = 14 ' Code 128
ActiveSheet.OLEObjects(MyBarcode).Object.Text = Range("C3")
Jeśli kontrolka nie jest już potrzebna, można ją usunąć z arkusza:
ActiveSheet.OLEObjects(MyBarcode).Delete
Wskazówka: Jeśli konieczne jest, aby system Windows przetwarzał nadchodzące zdarzenia (często określane jako KeepWindowsAlive) w makrze, można to wymusić za pomocą następującej funkcji VBA:
DoEvents
Może to być konieczne, np. jeśli kontrolka musi narysować się jako nowa.