ActiveX + Codesoft

Fermé
K-kOo - 29 oct. 2007 à 21:09
 Nono76 - 23 juil. 2009 à 22:16
Salut tout le monde,
Je suis tout nouveau dans le monde de VBS et on m'a demandé (imposé :S) de réaliser une mini appli a interface web pouvait lancer des impressions de codebar par le biais d'un logiciel bien connu du milieu "Codesoft 8" en faisant transiter des valeurs depuis mon formulaire HTML jusqu'a l'imprimante. J'ai fait le tour de google et étant a un niveau encore plus bas que ce que j'ai pu lire, ca serait vraiment sympathique que vous vouliez bien m'aider.
Mon code html est tout 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>

Et pour le moment le seul code VBS que j'ai trouver et qui ne fonctionne qu'a moitié c'est ca :
  If Not IsObject(oCS) Then
    Set oCS = CreateObject("Lppx2.Application")
    oCS.Visible = True
  End If    

Il ouvre bien CS8 mais il se ferme tout de suite apres. Savez vous pourquoi ?
Quel sont les concept de base qu'il faut je sache par rapport au pilotage de CS8 ?
Je suis conscient que des expert codesoft sa doit pas courir les rues, mais les conseils sur VBS / ActiveX sont les bienvenue :)
Merci

3 réponses

Bonjour,

Je ne le fait pas en VBS dans une page html, j'utilise l'ActiveX Automation de Codesoft en VBA avec Excel.
Par contre il faut absoluement une version Entreprise de CS pour utilser cet ActiveX. Cala ne marche pas avec les version Lite et Pro.

Voici un exemple de code :

Dim MyApp As LabelManager2.Application
Dim MyDoc As LabelManager2.Document
Public server As Integer

'Arret de CS lord de la fermeture du classeur
Sub auto_close()
If server = 1 Then MyApp.Quit
End Sub

'Lancement de CS (procedure appelée depuis auto_open
Sub lance_CS()
'Gestion des erreurs
On Error GoTo err_handler
Set MyApp = New LabelManager2.Application
' False CS est caché, True CS est visible
MyApp.Visible = False
Set MyDoc = MyApp.Documents.Open(Application.ActiveWorkbook.Path & "\test.Lab")
server = 1
Exit Sub
err_handler:
server = -1
End Sub

'imprime une liste
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
'passage des valeurs dans le formulaire del'etiquette
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


Bon courage.
2
Bonjour,
j'ai le même problème que toi et j'aurai aimé savoir si, depuis le temps, tu as réussi à le résoudre.
Est-ce que tu sais s'il est possible d'ouvrir une etiquette (fichier.lab) dans codesoft?
Merci beaucoup.
Evane
1
toujours personne qui puisse m'aider ? Ou bien qui s'y connaisse un peu en Codesoft ?
0