| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3740 人关注过本帖
标题:对象变量或WITH块变量未设置
只看楼主 加入收藏
黄昏の腕轮
Rank: 2
等 级:论坛游民
帖 子:64
专家分:12
注 册:2009-6-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
对象变量或WITH块变量未设置
以下代码是控制标签打印机打印标签的一段,运行报错(橙色部分),请问为什么呀?
Private Sub cmd_start_Click()
    num_printed = 0
    num_printing = printing.Caption    '需要打印数量
    num_printed = printed.Caption      '已打印数量
    num_s = "0"
   
    Do Until num_printing = 0
        If num_s = "0" Then
            Set mydocs = myapp.Documents
            Set mydoc = mydocs.Open(" & App.Path & " & file.Text)
            
            num_printing = num_printing - 1
            num_printed = num_printed + 1
            printing.Caption = num_printing
            printed.Caption = num_printed
            mydoc.PrintLabel 1  这里报警,提示“对象变量或WITH块变量未设置”
        End If
        
        mydoc.FormFeed
        mydocs.CloseAll
        Comm
        DoEvents
    Loop
   
    If num_printing = 0 Then
        cmd_start.Enabled = False
    End If
End Sub
搜索更多相关主题的帖子: 变量 WITH 对象 
2010-07-09 21:04
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:5 
            mydoc.PrintLabel 1  这里报警,提示“对象变量或WITH块变量未设置”
你先检查这二个问题吧.
1\ mydoc 是什么对象.
2\ PrintLabel 是什么过程或函数 对参数要求是什么?  你现在给的参数是 1

感觉正确的应该是:
            mydoc.Print Label1
空格位置打错了.

授人于鱼,不如授人于渔
早已停用QQ了
2010-07-10 09:40
黄昏の腕轮
Rank: 2
等 级:论坛游民
帖 子:64
专家分:12
注 册:2009-6-13
收藏
得分:0 
以下是引用风吹过b在2010-7-10 09:40:51的发言:

            mydoc.PrintLabel 1  这里报警,提示“对象变量或WITH块变量未设置”
你先检查这二个问题吧.
1\ mydoc 是什么对象.
2\ PrintLabel 是什么过程或函数 对参数要求是什么?  你现在给的参数是 1

感觉正确的应该是:
            mydoc.Print Label1
空格位置打错了.
谢谢版主大人的回复,这两个问题我说下。
1、mydoc是标签文件,也就是我要打印的条码标签文件;
2、PrintLabel 是 mydoc.后vb自动提示出现的,所以中间不存在空格。我手上还有个以前的程序,也是用的mydoc.PrintLabel 1
2010-07-10 10:24
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:5 
mydoc对象既然被引用到Do循环里,建议尝试每次用后关闭或销毁它,具体请参考mydoc对象的使用方法

尝试将代码改为下面的试试先:

程序代码:
    Do Until num_printing = 0
        If num_s = "0" Then
            Set mydocs = myapp.Documents
            Set mydoc = mydocs.Open(" & App.Path & " & file.Text)
           
            num_printing = num_printing - 1
            num_printed = num_printed + 1
            printing.Caption = num_printing
            printed.Caption = num_printed
            mydoc.PrintLabel 1         
            mydoc.FormFeed
            mydocs.CloseAll
            Comm
            DoEvents
        End If
    Loop

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2010-07-10 10:37
黄昏の腕轮
Rank: 2
等 级:论坛游民
帖 子:64
专家分:12
注 册:2009-6-13
收藏
得分:0 
哦,不过现在试不了。。打印机在公司的。。只有下周试试看能行不了。。
2010-07-10 12:00
快速回复:对象变量或WITH块变量未设置
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014879 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved