cs_fredcad
Messages postés2Date d'inscriptionjeudi 6 mai 2010StatutMembreDernière intervention 7 mai 2010
-
6 mai 2010 à 23:56
cs_fredcad
Messages postés2Date d'inscriptionjeudi 6 mai 2010StatutMembreDernière intervention 7 mai 2010
-
7 mai 2010 à 18:31
Bonjour,
Débutant Visual Basic, j'ai un problème de retour à la ligne après une variable.
Je m?explique. Je souhaite générer un fichier texte de configuration dans lequel il y a des valeurs qui sont dans un tableau Excel qui doivent être insérées dans les lignes du fichier texte.
Mon objectif est d'écrire cette phrase :
(debut-de-phrase Variable-de-la-cellule).
J'ai choisi de mettre la valeur de la cellule Excel dans le presse-papier, puis mettre le contenu du presse-papier dans une variable « Valeur », puis d'écrire ma ligne du fichier texte de configuration en créant une variable « S1 » contenant le début de ma phrase, une nouvelle variable « result » qui sera la concaténation de S1 & Valeur & ).
Mon problème c'est que la parenthèse ce retrouve à la ligne suivante comme ci-dessous.
(debut-de-phrase Variable-de-la-cellule
)
Il semblerait qu'après la variable « Valeur » dans la concaténation, il soit inséré un retour chariot automatiquement.
Y a t-il une solution pour éviter ça, ou une autre solution à mon problème.
cs_fredcad
Messages postés2Date d'inscriptionjeudi 6 mai 2010StatutMembreDernière intervention 7 mai 2010 7 mai 2010 à 18:31
Jack,
voici le code que j'ai écrit.
Sub ZoneTextePhysical()
' Ouvre le fichier tech.
Open "C:\SPB_Data\worklib\essai_1\physical\Physical.tech" For Output As #1
'Ecrit le texte.
Print #1, " (physicalSetName """ & "PAIRE_DIFF_100" & """)"
Print #1, "(lockFlag OFF)"
Print #1, "(viaList """ & "VIA_030_L1" & """ """ & "VICI80_TEST_BOTTOM" & ")"""
Print #1, "(physicalLayerGroup """ & "Top" & """"
' Remplace la cellule C3 avec le texte
OpenClipboard 0&
EmptyClipboard
CloseClipboard
'Mets le contenu de la cellule D3 dans le Presse Papier
Range("C3").Select
Selection.Copy
' Récupérer depuis le presse-papiers
Dim MyDataObj As New DataObject
Dim Valeur As String
MyDataObj.GetFromClipboard
Valeur = MyDataObj.GetText
Dim s1 As String
Dim result As String
result = ""
s1 = "(minLineWidth "
result = s1 & Valeur & ")"
MsgBox result
Print #1, result
Close
Open "C:\SPB_Data\worklib\essai_1\physical\Physical.tech" For Input As #1
Dim monText As String
Chaine = shell("NotePad.exe C:\SPB_Data\worklib\essai_1\physical\Physical.tech", vbNormalFocus)
Close
End Sub