Referência ausente usando o SDK da Brother Label Solutions

0

Eu escrevi um suplemento do Excel em VBA que pega uma lista formatada de endereços e se comunica com minha impressora de etiquetas Brother QL-570 usando o SDK "Label Solutions" da Brother: link

Eu já executei este código anteriormente em outro computador onde o SDK está instalado e funciona perfeitamente. Agora usá-lo na minha máquina não está funcionando. Minha máquina executa o Windows 10 e eu tenho o Excel 2010. Ao executar o suplemento, recebo este erro: "Erro de tempo de execução 249, o ActiveX não consegue criar objeto".

Pelo que entendi, esse erro indica um arquivo ausente. No entanto, olhando em Ferramentas - > Referências no Desenvolvedor Eu posso ver “Biblioteca de Tipos Brother b-PAC 3.1” é verificado após a instalação bem-sucedida. Como tal, não sei qual é o problema.

Por último, não acredito que o código seja o problema, pois isso funciona em outro computador, independentemente de encontrar o código abaixo para referência.

Quais são as possíveis causas desse erro?

MEU CÓDIGO:

O erro está ocorrendo na quinta linha: “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
    
por branches 05.02.2017 / 19:30

0 respostas