系统中须要在浏览器,直接调用条码打印机,打印出产品条码。

现实中的条码打印机,品种繁多,非常难在一个程序中实现, 于是我们用已经支持全部条码打印机的bartender软件

调用它的api ,来实如今浏览器中打印条码。

以下是 代码实现:

Private Sub UserControl_Initialize()

'On Error Resume Next

Dim app1 As BarTender.Application

    Set app1 = CreateObject("BarTender.Application")

      app1.Quit

     

    

    

     If Err.Number <> 0 Then

        MsgBox ("您还没有安装bartender,请点击《条码打印说明》中的下载链接下载安装。")

     End If

     Err.Clear

    

     'Dim fso As Object

     'Set fso = CreateObject("scripting.filesystemobject")

    

     Dim fso As New Scripting.FileSystemObject

     If fso.FileExists("c:\sun.btw") = True Then

        path = "c:\sunsky1.btw"

    Else

        If fso.FileExists("d:\sun.btw") = True Then

            path = "d:\sun.btw"

        Else

            On Error Resume Next

            Err.Clear

           

            DownNetFile "http://www.erwm.org/suns.btw", "c:\sun.btw"

             path = "c:\sunsky1.btw"

            If Err.Number <> 0 Then

            Err.Clear

           

            DownNetFile "http://www.erwm.org/sun.btw", "d:\sun.btw"

             path = "d:\sunsky1.btw"

             If Err.Number <> 0 Then

                MsgBox ("您还没有下载打印模版,请点击《条码打印说明》中的下载链接下载安装。")

            End If

            End If

        End If

    End If

End Sub

Public Sub printone(ordernumber As String, itemnumber As String, qty As String, barcode As String, isshow As String)

Dim Format As BarTender.Format

     Set app = CreateObject("BarTender.Application")

    Set Format = app.Formats.Open(path)

 

    Format.SetNamedSubStringValue "barcode", barcode

    Format.SetNamedSubStringValue "ordernumber", ordernumber

    Format.SetNamedSubStringValue "qty", qty

    Format.SetNamedSubStringValue "itemnumber", itemnumber

    If isshow = "1" Then

    Format.PrintOut True, True

    Else

    Format.PrintOut

    End If

    Format.Close btDoNotSaveChanges

     app.Quit

End Sub

Public Function isgood() As String

    On Error Resume Next

   

       

    

    

End Function

Private Sub DownNetFile(ByVal nUrl As String, ByVal nFile As String)

     Dim XmlHttp, B() As Byte

     Set XmlHttp = CreateObject("Microsoft.XMLHTTP")

     XmlHttp.Open "GET", nUrl, False

     XmlHttp.Send

     If XmlHttp.ReadyState = 4 Then

         B() = XmlHttp.ResponseBody

         Open nFile For Binary As #1

         Put #1, , B()

         Close #1

     End If

     Set XmlHttp = Nothing

End Sub

在浏览器中通过bartender,调用条码打印机的active控件代码的实现的更多相关文章

  1. 编写在浏览器中不弹出警告的ActiveX控件

    我们在编写ActiveX控件时,如果用在浏览器中,经常都会弹出现在运行的脚本不安全的提示, 如果给客户使用,将会带来极大不便.按照MSDN的介绍通常有两种一种是实现IObjectSafe接口,一种是通 ...

  2. MVC中使用HTML Helper类扩展HTML控件

    文章摘自:http://www.cnblogs.com/zhangziqiu/archive/2009/03/18/1415005.html MVC在view页面,经常需要用到很多封装好的HTML控件 ...

  3. 安卓中的事件分发机制之View控件

    前言:Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent e ...

  4. ASP.NET中共有哪几种类型的控件?其中,HTML控件、HTML服务器控件和WEB服务器控件之间有什么区别

    ASP.NET的控件包括WEB服务器控件.WEB用户控件.WEB自定义控件.HTML服务器控件和HTML控件.HTML控件.HTML服务器控件和WEB服务器控件之间的区别如下所示.q      HTM ...

  5. C# Winform开发程序调用VLC播放器控件播放视频.

    VLC是个好东西,支持的格式多,还无广告,关键还有调用它的播放控件不用安装. 开个文章记录下调用这个控件的流水账,以便以后需要的时候查阅 创建工程 首先新建一个Winform工程. 这里姑且叫做VLC ...

  6. 如何: 在 VS中的设计时刻主从表绑定控件到数据库

    这个示例展示了如何在 Visual Studio 2005 的设计时刻,把一个 data-aware 控件 (XtraGrid.XtraPivotGrid.XtraVerticalGrid 等) 绑定 ...

  7. winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法

    winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法 button的FlatAppearence属性下,设置BorderSize= ...

  8. IE8下调用Active控件

    之前在IE6下运行正常的Active控件,浏览器升级到IE8后全部失效,并呈浏览器崩溃状. 网上搜了一圈得到如下解决方法: 1.设置信任站点 2.还需要在IE浏览器菜单 “工具>Internet ...

  9. Excel中的表单控件和active控件

    EXCEL中有两种控件:表单控件和active控件 表单控件是excel5和excel95开始使用的,从excel97开始,active控件开始出现 关于表单控件和active控件的区别和使用范围,网 ...

随机推荐

  1. 我的CSS架构

    写在前面 都是自己看别人的架构,自己积累下来的一些东西,这里只是阐述自己的一些观念.借此希望同行交流交流下看法,共勉. 不同架构的CSS 业务流程不同,团队配员不同.会有各种各样的CSS架构. 有的会 ...

  2. 【jQuery】smartMenu右键自定义上下文菜单插件(似web QQ)

    (前端用重点整理博客地址)链接地址:http://www.cnblogs.com/atree/archive/2011/06/30/jQuery-smartMenu-javascript.html 一 ...

  3. BZOJ 3585: mex( 离线 + 线段树 )

    离线, 询问排序. 先处理出1~i的答案, 这样可以回答左端点为1的询问.完成后就用seq(1)将1到它下一次出现的位置前更新. 不断这样转移就OK了 ------------------------ ...

  4. 【虚拟化实战】容灾设计之一VR vs SRM

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 从本文开始,我们将介绍一系列的关于容灾的解决方案.先探讨应用的场景,然后再深入介绍技术架构. 情景一: 某小型公司的虚拟化环境中,在 ...

  5. HDU 1599 find the mincost route (无向图floyd最小环详解)

    转载请注明出处:http://blog.csdn.net/a1dark 分析:终于弄懂了floyd的原理.以前的理解一直肤浅.所以一做到floyd应用的题.就拙计了.其实floyd的本质DP.利用前K ...

  6. MYSQL获取自增主键【4种方法】

    通常我们在应用中对mysql执行了insert操作后,需要获取插入记录的自增主键.本文将介绍java环境下的4种方法获取insert后的记录主键auto_increment的值: 通过JDBC2.0提 ...

  7. 日积月累:ScrollView嵌套ListView只显示一行

    在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容.在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示.于是乎有了如下布局: & ...

  8. Android漫游记(4)---.so文件动态调试一例

    Android平台的动态调试一直以来是个困扰我等Coder的头疼问题,特别是对于本地的动态调试支持.能够说是"弱智"级别的,不知道Google的新版NDK和新出的Android S ...

  9. svn 标示提示

    原来没有遇到过, 突然发现这次写的项目有几个文件时 这个"表示的" ,死活找不到原因,并且提交,改动 都好烦人,还要锁定什么嘛的. 最后最终知道, 这个意思是  文件的状态为 &q ...

  10. mac下brew install 报错

    mac下brew install 报错 错误提示: 原因:是这个brew的权限不正确 修改一下这个brew的权限 chown root:wheel /usr/local/bin/brew