Bilgisayar Microsoft

Excelde Google Api Kullanrak qrCode Üretmek

Dikkat Google Api qrcode üretme apisini devre dışı bıraktığı için bu makaledeki örnekler çalışmayacaktı. Bunun için yeni bir api kullanarak deneyebilirsiniz. Örnek kullanım için https://www.zulfumehmet.com/excelde-api-kullanarak-qrcode-uretmek/ makalesini inceleyebilirsiniz.

Daha önce yayınladığım Excelde qrCode Üretme başlıklı makalem için bir çok yorum istete bulunulmuştur, bazıları resimlerin istedikleri boyuta getiremediğini, bazıları istediği kalınlıkta olmadığı gibi bir çok yorum gelmişti. Daha kolay ve istediğiniz boyuta getirebilmeniz için Google’nin qrCode için ürettiği apiyi kullanacağız. qr Code nedir diyenler varsa QR kod yada halk arasında kare kod olarak da bilinen, makinler, telefon kameraları tarafından okunabilen bir matris (iki boyutlu barkod) barkot sistemidir.

Buyurun başlayalım.



qrCode oluşturma

 

İlk önce Googleapi linkini inceleyelim.

https://chart.googleapis.com/chart?chs=400x400&chld=L|1&choe=utf-8&cht=qr&chl=

Bu api de;

  • CHS değişkeni bize oluşturulacak qrkodun ebatlarını vermekte 400×400 px olarak ayarladım siz istediğiniz ebatta yapabilirsiniz. Kullanılış şekli chd=<width>x<height>
  • CHLD değişkeni de qrkodaki veri kaybı için kullanılır, L|1 dediğimiz zaman %7 kayıp telafisi sağlar 1 değeri de kenarlık değerini belirtir değeri ne kadar yüksek tutarsanız kenar boşluklar o kadar fazla olacaktır.
  • CHOE karakter değerini bildirir, türkçe karakter kullanırsanız qrcode okunmaz, bu yüzden utf-8 değişkenini kullanmak zorundayız.
  • CHT zaten olmazsa olmazlardan qr kod oluğunu belirtiyoruz,
  • CHL de qrkodumuzun içeriğini belirtiyoruz,



Makro Oluşturma

Yukarda da api hakkında gerekli bilgileri aldıktan sonra şimdi excel de bu apiye göre bir makro yazalım.

Çalışma sayfasına sağ tıklayın ve Kod Görüntüle seçeneğini seçiniz. Visual Basic açılacaktır.

Örnek kodumuz;


Function QRuret(qrcode_value As String) 'QRuret adında bir fonksiyon oluşturuyoruz

ebat = ActiveSheet.Range("B1")
kenar = ActiveSheet.Range("D1") 'ebat ve kanarılıkları hangi hücreden alacağına dair değişkeni bildiriyoruz

Dim URL As String
Dim My_Cell As Range

Set My_Cell = Application.Caller
URL = "https://chart.googleapis.com/chart?chs=" & ebat & "&chld=M|" & kenar & "&cht=qr&choe=utf-8&chl=" & qrcode_value 'google api yi çağırıyoruz
On Error Resume Next
ActiveSheet.Pictures("My_QR_CODE_" & My_Cell.Address(False, False)).Delete
On Error GoTo 0
ActiveSheet.Pictures.Insert(URL).Select
With Selection.ShapeRange(1)
.Name = "My_QR_CODE_" & My_Cell.Address(False, False)
.Left = My_Cell.Left + 5
.Top = My_Cell.Top + 5
End With
GenerateQR = ""

End Function

Bu kodu excelde Visual Basic ile yeni bir modules açarak kopyalıyoruz. Üst menüden Insert altında Modules tıklayarak ekleyebilirsiniz.

Kodumuzu yeni açılan modüle yapıştırıp kapatıyoruz. Artık Excelde Google api kullanrak qrCode üretmek için bir eksiğimiz kalmadı.

Gerisi kolay hücreye =QRuret(değerin olduğu hücre adı) şeklinde formül girmeniz yeterlidir. Sarı olarak belirttiği yerler ebat ve kenar boşluk değerlerini istediğiniz şekilde değiştirebilirsiniz, ebat belirtirken x ile en boy ayırmayı unutmayınız.

Dikkat etmeniz gereken bir husustan bahsedelim, eğer formülleri sürekli yenilerseniz aynı resim üstüne yeni resim qrcode üreten resim ekleyecektir. Bu yüzden önce verileri girip sonra formül girdikten sonra formülü girip qrcode resimlerini üretmeniz sizin faydanıza olacaktır. Diğer türlü aşırı resim yükleneceği için resim boyutu artacaktır.

Örnek projeyi aşağıdaki linkten indirebilirsiniz. Takıldığınız yerde yorumlardan yazarak vaktim dahilinde yardımcı olmaya çalışacağım. İyi çalışmalar.

Excelde qrCode Üretme

https://tr.wikipedia.org/wiki/QR_kodu

2 Yorumlar
  1. enes aslan 7 ay önce
    Cevapla

    Excelde kodsuz yapmak imkansızdı, elinize sağlık, çok işime yaradı.

Yorum Yaz

*E-mail adresiniz gizli kalacaktır.

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

Öneriler

Yeni Makaleler