Je veux executer une commande dos

Résolu
nablimohavb Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 27 février 2009 - 19 avril 2007 à 10:52
HariSeldon69210 Messages postés 44 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 13 septembre 2008 - 29 août 2008 à 18:04
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

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
19 avril 2007 à 10:58
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
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 avril 2007 à 11:08
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 #
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
19 avril 2007 à 17:12
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
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
19 avril 2007 à 14:49
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:
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nablimohavb Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 27 février 2009
20 avril 2007 à 16:26
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

 


 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 avril 2007 à 16:33
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
0
nablimohavb Messages postés 18 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 27 février 2009
20 avril 2007 à 17:38
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é.


 
0
HariSeldon69210 Messages postés 44 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 13 septembre 2008
29 août 2008 à 18:04
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 +
0
Rejoignez-nous