VBA'da, biçimlendirilmiş bir adres listesi alan ve Brother “Etiket Çözümleri” SDK'sini kullanarak Brother QL-570 etiket yazıcımla iletişim kuran bir excel eklentisi yazdım: http://www.brother.com/product/dev/label/bpac/download/bpaccci156/index.htm
Bu kodu SDK'nın kurulu olduğu ve mükemmel çalıştığı başka bir bilgisayarda daha önce çalıştırdım. Şimdi makinemde kullanarak çalışmıyor. Makinem Windows 10 kullanıyor ve Excel 2010 kullanıyorum. Eklentiyi çalıştırdıktan sonra şu hatayı alıyorum: “Çalışma Zamanı Hatası 249, ActiveX nesne oluşturamıyor.”
Anladığım kadarıyla bu hata eksik bir dosyayı gösterir. Ancak Araçlar'ın altına bakmaktan - & gt; Geliştiricideki Referansları Görebiliyorum “Brother b-PAC 3.1 Tip Kitaplığı” başarılı kurulumdan sonra kontrol edilir. Gibi sorunun ne olduğundan emin değilim.
Son olarak, referans için aşağıdaki alt kodu bulmak ne olursa olsun, kodun başka bir bilgisayarda çalıştığı için sorun olduğuna inanmıyorum.
Bu hatanın olası nedenleri nelerdir?
KODUM:
Hata, beşinci satırda gerçekleşiyor: “Set objDoc = CreateObject (“ bpac.Document ””)).
Public Sub PrintLabels(ByVal Control As IRibbonControl)
Dim numRows As Integer
numRows = GetRowCount(2)
Dim objDoc As bpac.Document
Set objDoc = CreateObject("bpac.Document")
For i = 1 To numRows
Dim templateFile As String
Dim mailService As String
mailService = ActiveSheet.Cells(i + 1, 11).Text
If mailService = "1" Then
templateFile = labelTemplateFile1st
ElseIf mailService = "2" Then
templateFile = labelTemplateFile2nd
Else
templateFile = labelTemplateFile
End If
If objDoc.Open(templateFile) Then
Dim printers() As Variant
printers = objDoc.Printer.GetInstalledPrinters()
Dim installedPrinterName As Variant
installedPrinterName = printers(0)
objDoc.SetPrinter printers(0), True
objDoc.StartPrint "Label", bpoDefault 'Sets label cutting to default value.
objDoc.GetObject("ORDERNUM").Text = ActiveSheet.Cells(i + 1, 1).Text
objDoc.GetObject("NAMDRESS").Text = ActiveSheet.Cells(i + 1, 2).Text
objDoc.GetObject("ORDERDETS").Text = ActiveSheet.Cells(i + 1, 3).Text
objDoc.PrintOut 1, bpoDefault
objDoc.EndPrint
objDoc.Close
Else
MsgBox objDoc.ErrorCode
End If
Next i
End Sub