Je veux executer une commande dos [Résolu]

Signaler
Messages postés
18
Date d'inscription
lundi 9 avril 2007
Statut
Membre
Dernière intervention
27 février 2009
-
Messages postés
44
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
13 septembre 2008
-
Bonjours
j'ai une imprimante(pour etiquette) ,elle recoit un fichier texte.txt contenant les format et les données à imprimer ,la commande d'impression passe par l'invite ms-dos elle est comme suit:
j'ouvre l'invite ms-dos,j'ouvre le dossier parant du fichier et je tape "copy nomfichier.txt lpt1"

j'ai essayer en VB de passer cette commande :

Private Sub Command2_Click()
Dim sh
sh = Shell("cmd")
SendKeys "(copy nomfichier.txt lpt1){enter}", True
end sub

le probleme est que cette méthode n'est pas stable des fois passe et d'autre fois non
la chaine de la commande n'est pas complétement envoyé et plusieur fenêtres dos s'ouvres sans aucun effet.

Comment je peut passer cette commande correctement ? ou y à il une autre solution ?

Merci.

 

8 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
Salut,
Es tu réellement obligé par une fenêtre DOS?
Pourquoi ne pas le faire depuis le code.
Tu connais le dossier Parent?
Donc essaie peu être de faire
Dim DossierParent As String
DossierParent = "C:\Test\"
Call FileCopy(DossierParent & "nomfichier.txt", DossierParent & "lpt1")
, ----
[code.aspx?ID=41455 By Renfield]

Je ne suis pas sûr du tout que cela te convienne, mais on ne sait jamais

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Moi j'aurais plutot essayer ceci

Private Sub Command2_Click()
Dim sh
sh = Shell("cmd /c copy nomfichier.txt lpt1")
end sub

Voir l'aide sur la commande cmd -->
 http://www.microsoft.com/technet/prodtechnol/windowsserver2003/fr/library/ServerHelp/d0518719-7154-49b4-954c-0a6c015ab441.mspx?mfr=true

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
SAlut,
Reponse à ton MP
Je suis content que cela fonctionne. Il ne reste plus qu'à appuyer sur réponse acceptée sur le ou les messages qui ont pu t'aider à résoudre ton problème

Message envoyé par [auteurdetail.aspx?ID= 1029404 nablimohavb ] le 19/04/2007 17:09:49 ([javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$Main$MsgVoir$lnkAdd", "", true, "", "", false, true)) Ajouter dans votre carnet d'adresse])

Sujet : Salut

Message :

Salut
la commande fonctionne correctement
Merci pour votre aide.

@+: =89254 Ju£i?n
Pensez: Réponse acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Salut, ou encore
http://vb.developpez.com/faq/?page=Systeme#dos

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
18
Date d'inscription
lundi 9 avril 2007
Statut
Membre
Dernière intervention
27 février 2009

Salut
j'ai un fichier texte qui contien des valeur (chaque ligne contien un valeur),pour extraire ces valeur ,j'ai déclaré un tableau de type variant et j'ai mis chaque ligne dans une case du tableau
tab(20)="32.500" type variant
quand j'utilise la fonction  CDbl( tab(20))   ,CLng( ) ou CInt( ).. vb m'affiche type incompatible 
comment pouvai'je convertir un type string ou variant extrait d'un fichier texte en reel ?
Merci

 


 
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
Salut,
Si tu déclares ton tableau commme suit: Dim TonTab(150)  As String (tableaux de 151 éléments)
Il sera de type string et pourra contenir les valeurs extraites de ton fichier.
Pourquoi passer par le Type Variant alors que tu sais que tu vas avoir des chaine de caractère.

Pour savir pourquoi VB te donne cette erreur il serai tplus commode pour nous d'avoir plus de code.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
18
Date d'inscription
lundi 9 avril 2007
Statut
Membre
Dernière intervention
27 février 2009

salut
il parait que le probleme vien des point entre les chiffres
j'ai changé les point en virgules dans le texte est ca marché , vb na  pas pu accepter des valeur contenant un point  "32.000",j'ai meme déclaré le tableau comme string et je n'ai pas converti
la chaine est ca marché.


 
Messages postés
44
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
13 septembre 2008

Bonjour a tous
merci casy pour ceci sa marche tres bien
Private Sub Command2_Click()
Dim sh
sh = Shell("cmd /c copy nomfichier.txt lpt1")
end sub
a +