ActiveX + Codesoft
K-kOo
-
Nono76 -
Nono76 -
Salut tout le monde,
Estoy completamente nuevo en el mundo de VBS y se me ha pedido (impuesto :S) que realice una mini aplicación con interfaz web que pueda lanzar impresiones de códigos de barras a través de un software bien conocido en el medio "Codesoft 8", haciendo circular valores desde mi formulario HTML hasta la impresora. He buscado en Google y, dado que estoy en un nivel aún más bajo que lo que he podido leer, sería realmente amable de su parte que quisieran ayudarme.
Mi código HTML es muy simple:
Y por el momento, el único código VBS que he encontrado y que solo funciona a medias es este:
Abre bien CS8 pero se cierra de inmediato después. ¿Saben por qué?
¿Cuáles son los conceptos básicos que debo saber sobre el control de CS8?
Soy consciente de que los expertos en Codesoft no deben ser comunes, pero los consejos sobre VBS / ActiveX son bienvenidos :)
Gracias
Estoy completamente nuevo en el mundo de VBS y se me ha pedido (impuesto :S) que realice una mini aplicación con interfaz web que pueda lanzar impresiones de códigos de barras a través de un software bien conocido en el medio "Codesoft 8", haciendo circular valores desde mi formulario HTML hasta la impresora. He buscado en Google y, dado que estoy en un nivel aún más bajo que lo que he podido leer, sería realmente amable de su parte que quisieran ayudarme.
Mi código HTML es muy simple:
<HTML> <BODY> <FORM NAME="Feuille1"> <INPUT TYPE="hidden" name="my_var" VALUE="toto"> <INPUT TYPE="Button" NAME="Bouton1" VALUE="Clic"> <SCRIPT FOR="Bouton1" EVENT="onClick" LANGUAGE="VBScript"> <!-- --> </SCRIPT> </FORM> </BODY> </HTML>
Y por el momento, el único código VBS que he encontrado y que solo funciona a medias es este:
If Not IsObject(oCS) Then Set oCS = CreateObject("Lppx2.Application") oCS.Visible = True End If Abre bien CS8 pero se cierra de inmediato después. ¿Saben por qué?
¿Cuáles son los conceptos básicos que debo saber sobre el control de CS8?
Soy consciente de que los expertos en Codesoft no deben ser comunes, pero los consejos sobre VBS / ActiveX son bienvenidos :)
Gracias
Configuración: Windows XP Firefox 2.0.0.8
3 respuestas
Hola,
No lo hago en VBS en una página HTML, utilizo la automatización ActiveX de Codesoft en VBA con Excel.
Sin embargo, es absolutamente necesario tener una versión Empresarial de CS para utilizar este ActiveX. No funciona con las versiones Lite y Pro.
Aquí hay un ejemplo de código:
Dim MyApp As LabelManager2.Application
Dim MyDoc As LabelManager2.Document
Public server As Integer
'Detener CS al cerrar el libro
Sub auto_close()
If server = 1 Then MyApp.Quit
End Sub
'Iniciar CS (procedimiento llamado desde auto_open
Sub lance_CS()
'Gestión de errores
On Error GoTo err_handler
Set MyApp = New LabelManager2.Application
' False CS está oculto, True CS es visible
MyApp.Visible = False
Set MyDoc = MyApp.Documents.Open(Application.ActiveWorkbook.Path & "\test.Lab")
server = 1
Exit Sub
err_handler:
server = -1
End Sub
'imprimir una lista
Sub imprime_liste()
For Each ligne In Range("A2:A2", Selection.End(xlDown))
posy = ligne.Row
code_a = Range("A" & posy & ":A" & posy).Text
code_b = Range("B" & posy & ":B" & posy).Text
qte = Range("C" & posy & ":C" & posy).Value
'pasar los valores al formulario de la etiqueta
MyDoc.Variables("VAR_A").Value = code_a
MyDoc.Variables("VAR_B").Value = code_b
a = MyDoc.PrintLabel(qte, 1, 1, 1, 1, "")
Next ligne
MyDoc.FormFeed
End Sub
Buena suerte.
No lo hago en VBS en una página HTML, utilizo la automatización ActiveX de Codesoft en VBA con Excel.
Sin embargo, es absolutamente necesario tener una versión Empresarial de CS para utilizar este ActiveX. No funciona con las versiones Lite y Pro.
Aquí hay un ejemplo de código:
Dim MyApp As LabelManager2.Application
Dim MyDoc As LabelManager2.Document
Public server As Integer
'Detener CS al cerrar el libro
Sub auto_close()
If server = 1 Then MyApp.Quit
End Sub
'Iniciar CS (procedimiento llamado desde auto_open
Sub lance_CS()
'Gestión de errores
On Error GoTo err_handler
Set MyApp = New LabelManager2.Application
' False CS está oculto, True CS es visible
MyApp.Visible = False
Set MyDoc = MyApp.Documents.Open(Application.ActiveWorkbook.Path & "\test.Lab")
server = 1
Exit Sub
err_handler:
server = -1
End Sub
'imprimir una lista
Sub imprime_liste()
For Each ligne In Range("A2:A2", Selection.End(xlDown))
posy = ligne.Row
code_a = Range("A" & posy & ":A" & posy).Text
code_b = Range("B" & posy & ":B" & posy).Text
qte = Range("C" & posy & ":C" & posy).Value
'pasar los valores al formulario de la etiqueta
MyDoc.Variables("VAR_A").Value = code_a
MyDoc.Variables("VAR_B").Value = code_b
a = MyDoc.PrintLabel(qte, 1, 1, 1, 1, "")
Next ligne
MyDoc.FormFeed
End Sub
Buena suerte.