You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA调用Brother QL-800打印标签时遇运行时错误91求助

解决Excel VBA调用Brother QL-800打印标签时的Run-Time Error 91问题

问题背景

环境:Windows 11、Office 365
触发错误:

Run-Time error 91: Object variable or With block variable not set
前置操作:

  • 用P-touch Editor创建lbx模板文件,与Excel工作簿同目录
  • 代码已成功创建bpac.Document对象并打开模板,但设置objProductName等字段值时出错
  • 已更新打印机固件,尝试修改P-touch Editor的Target为"User Information",传入参数值均正常

排查及解决步骤

1. 核对模板字段对象名称

打开P-touch Editor的lbx模板,选中目标文本框后右键→属性,查看「对象名称」字段,确保该名称与VBA代码中调用的objProductName等名称完全一致(大小写、空格、特殊字符都要匹配)。错误91大概率是因为代码中指定的字段名称在模板中不存在,导致获取对象时返回Nothing。

2. 修正字段对象的获取逻辑

确保代码中获取字段对象的写法正确,示例如下:

Dim objDoc As bpac.Document
Set objDoc = CreateObject("bpac.Document")

If objDoc.Open(ThisWorkbook.Path & "\your_template.lbx") Then
    ' 按模板中实际的对象名称获取字段
    Dim objProductName As Object
    Set objProductName = objDoc.GetObject("ProductName")
    
    ' 先判断对象是否存在再赋值
    If Not objProductName Is Nothing Then
        objProductName.Text = "测试产品名称"
    Else
        MsgBox "未找到指定名称的字段,请核对模板对象名称"
    End If
    
    ' 执行打印并清理对象
    objDoc.PrintOut 0, False
    objDoc.Close
End If

Set objDoc = Nothing

3. 验证模板打印设置

  • 打开P-touch Editor→文件→打印设置,确认「目标」选择的是当前使用的Brother QL-800打印机,而非通用选项;
  • 检查模板的纸张尺寸是否与QL-800支持的标签尺寸完全匹配(如常用的62mm宽标签)。

4. 重新注册bpac组件

按下Win+R,输入以下命令(路径根据P-touch Editor实际安装位置调整)回车,重新注册Bpac.dll组件:

regsvr32 "C:\Program Files (x86)\Brother\P-touch Editor\SDK\Bpac.dll"

注册成功后重启Excel,再运行代码。

5. 排查权限问题

  • 右键Excel程序,选择以管理员身份运行,避免因权限不足导致无法访问模板或打印机;
  • 确保Excel工作簿和lbx模板所在文件夹未设置只读权限。

内容的提问来源于stack exchange,提问作者Del

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 03:48:16