Excecuter un fichier .vb dans un autre

oxy224 Messages postés 12 Date d'inscription lundi 6 décembre 2010 Statut Membre Dernière intervention 19 mai 2011 - 6 mai 2011 à 16:57
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 - 9 mai 2011 à 14:49
Bonjour,

Je suis dans nouveau dans prog VB, je veux excecuter un .vb dans un autre fichier vb. Quelqu'un pourrait me donner un coup de main???

Merci d'avance.
A voir également:

8 réponses

oxy224 Messages postés 12 Date d'inscription lundi 6 décembre 2010 Statut Membre Dernière intervention 19 mai 2011
6 mai 2011 à 17:14
Bonjour,

Je suis nouveau dans la prog VB, je veux excecuter un .vb dans un autre fichier vb. Quelqu'un pourrait me donner un coup de main???

Merci d'avance.
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
6 mai 2011 à 18:56
Bonjour,

Appeller une fonction d'un autre fichier, c'est quoi, un module, une classe ?

Mon site
0
oxy224 Messages postés 12 Date d'inscription lundi 6 décembre 2010 Statut Membre Dernière intervention 19 mai 2011
9 mai 2011 à 10:54
Bonjour NHenry,

Dslé pour la reponse tardive, c'est bien un module dans lequel je recuperer un code vb que je convertit en txt, puis modifie des chaines de caracteres dans ce fichier que je reconvertit ensuite en .vb et enfin je dois executer ce fichier dans le mon module. J'ai utilisé la fonction Shell qui ne lance que les .exe et moi j'ai besoin d'excecuter le .vb dans mon module.

Merci d'avance!!!
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
9 mai 2011 à 12:43
Bonjour,

Pourquoi ne pas rendre ces chaines paramétrables ?
Car quand on commence à faire ça, c'est que :
- On se trompe dans la solution à apporter
- On a un besoin extrêmement spécifique

Un exemple de tes besoins (code origine/destination) sera utile pour apporter une réponse la plus adaptée.

Mon site
0

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

Posez votre question
oxy224 Messages postés 12 Date d'inscription lundi 6 décembre 2010 Statut Membre Dernière intervention 19 mai 2011
9 mai 2011 à 13:16
Voici mon code:
Imports System
Imports System.IO
Module Module1
Sub Main()
Dim oFSO, WScript
Const ForReading As Integer = 1
Const ForWriting As Integer = 2
Dim a As String
Dim T(1) As String
Dim b As String
Dim c
Dim Strtxt As String
Dim fi, fivb, WshShell
Dim StrNewtxt As String
fi = "c:\file.txt"
fivb = "c:\file.vb"
If System.IO.File.Exists(fi) = True Then
System.IO.File.Delete(fi)
End If

a = InputBox("saisir un nom")
MsgBox(a)
T(0) = a
b = Right(a, 2)
MsgBox(b)
oFSO = CreateObject("Scripting.FileSystemObject")
c = oFSO.OpenTextFile("c:\file1.txt", ForReading)
File.Copy("c:\om.txt", "c:\file.txt")
Strtxt = c.ReadALL
StrNewtxt = Replace(Strtxt, "xx", b)
c = oFSO.OpenTextFile("c:\file.txt", ForWriting)
c.WriteLine(StrNewtxt)
'Conversion file.txt en file.vb
c.Close()
If System.IO.File.Exists(fivb) = True Then
System.IO.File.Delete(fivb)
End If
File.Move("c:\file.txt", "c:\file.vb")
WshShell = CreateObject("WScript.Shell")
WshShell.Run("c:\file.vb")
End Sub
End Module

/*******************************************************************************************/
Mon probleme est le fait que j'arrive pas a excecuter le file.vb et ce fichier contient un code à modifier.
Merci!!!
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
9 mai 2011 à 13:52
Bonjour,

2 choses :
1) Pourquoi utiliser FSO alors que tout est dispo dans le Framework ?
IO.File.ReadAllText (et ses amis)

2) Au lieu de faire une sub sans paramètre, pourquoi ne pas lui ajouter les paramètres qui te conviennent ?

Public Sub TraiteFichier(Byval pSource as String, byval pFichierDestination as String)

Mon site
0
oxy224 Messages postés 12 Date d'inscription lundi 6 décembre 2010 Statut Membre Dernière intervention 19 mai 2011
9 mai 2011 à 14:06
Je maitrise pas trop, je viens de commencer vb. Par contre ça marche jusqu'au niveau de l'excution du fichier vb que j'ai appelé avec le shell. Du coup, j'ai juste besoin de l'excecuter à l'interieur de mon module.

Merci!!!
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
9 mai 2011 à 14:49
Bonjour,

Je reprends, car je pense que tu vas dans la mauvaise direction.

Tu as fourni le code de changement du texte, ce qui n'est pas ce que je voulais voir.

Pour la coloration syntaxique, regardes la 3ième icône à droite dans la boite de rédaction des messages ;)

Je remarques aussi quelques points choquant (même pour un débutant, c'est un point important) :
- TOUJOURS mettre Option Explicit et Option Strict à ON (propriétés du projet)
- Utiliser de préférence les éléments du framework, FSO est lent et est inutile en .NET (dans ton cas). (Regardes l'aide de IO.File.ReadAllText et de ses fonctions associées)
- Tu déclare une variable tableau T et tu ne t'en sert jamais
- Nomme tes variables de manière claire, "a", "b", "c", "T", ...
- N'utilises pas MsgBox, mais MessageBox.Show
- De base, retires l'import System.Visualbasic des propriétés de ton projet. Il s'agit d'une "compatibilité" pour les personnes venant de VB6/A et qui ne fait que maintenir un code qui n'est pas totalement .NET (à la lecture).
- "If System.IO.File.Exists(fi) = True Then" peut être amélioré "If System.IO.File.Exists(fi) Then" est suffisant.
- "b Right(a, 2)" est équivalent à "b a.SubString(a.lenght-2)"

Mon site
0
Rejoignez-nous