salut,
il y a du VBA inclus dans PCVUE.
On peut facilement lancer un script VBA à l'ouverture d'une vue par exemple, pour remplir la combobox.
[PC Vue] Recette
-
- Asservi son premier moteur
- Messages : 23
- Enregistré le : 11 juil. 2016, 11:18
-
- Apprend le binaire
- Messages : 3
- Enregistré le : 20 oct. 2015, 16:51
Re: [PC Vue] Recette
Pour remplir la liste de la combobox microsoft (insertion active x combobox microsoft v2.0 ) à partir des noms de recettes de PCVUE
Private Sub TRUC()
Set fs = CreateObject("Scripting.FileSystemObject")
Set dossier = fs.getfolder("C:\ARC Informatique\PcVue 11\Usr\Nomduprojetpcvue\R") (le chemin vers le dossier "R" contenant les noms de recettes de PCVUE, içi un projet en PCVUE v11 ).
For Each f In dossier.files
If f.Name <> "MODEL" And f.Name <> ".." And f.Name <> "." Then ( on cherche tous les noms de recettes pcvue, sauf la recette "MODEL", les ".." et les ".")
ComboBoxMachin.addItem (f.Name) ( on les stoke dans la liste de la combobox via la méthode "ADDITEM"avec la fonction TRUC, celle ci étant lancée depuis pcvue comme on le désire: sur un clic, un double clic, ..., il faut aussi définir une variable texte pcvue comme étant le nom de la recette choisie dans la proprieté de la combobox microsoft pour être exploitée par SCADA pcvue afin de créer une nouvelle recette).
End If
Next
End Sub
tout le reste se faisant facilement en SCADA PCVUE: création,lecture, ecriture de recette...
A noter que PCVUE a besoin d'un modèle de recette ( écrite manuellement, il faut d'ailleurs commencer par cà ) pour pouvoir créer de nouvelles recettes.
PCVUE propose une combobox par défaut, dont la liste est définie par le développeur mais... figée en configuration.
Private Sub TRUC()
Set fs = CreateObject("Scripting.FileSystemObject")
Set dossier = fs.getfolder("C:\ARC Informatique\PcVue 11\Usr\Nomduprojetpcvue\R") (le chemin vers le dossier "R" contenant les noms de recettes de PCVUE, içi un projet en PCVUE v11 ).
For Each f In dossier.files
If f.Name <> "MODEL" And f.Name <> ".." And f.Name <> "." Then ( on cherche tous les noms de recettes pcvue, sauf la recette "MODEL", les ".." et les ".")
ComboBoxMachin.addItem (f.Name) ( on les stoke dans la liste de la combobox via la méthode "ADDITEM"avec la fonction TRUC, celle ci étant lancée depuis pcvue comme on le désire: sur un clic, un double clic, ..., il faut aussi définir une variable texte pcvue comme étant le nom de la recette choisie dans la proprieté de la combobox microsoft pour être exploitée par SCADA pcvue afin de créer une nouvelle recette).
End If
Next
End Sub
tout le reste se faisant facilement en SCADA PCVUE: création,lecture, ecriture de recette...
A noter que PCVUE a besoin d'un modèle de recette ( écrite manuellement, il faut d'ailleurs commencer par cà ) pour pouvoir créer de nouvelles recettes.
PCVUE propose une combobox par défaut, dont la liste est définie par le développeur mais... figée en configuration.
Re: [PC Vue] Recette
je vous remercie tous pour votre aide
en fait j'ai réussi à le faire en ajoutant directement les recettes sur le combo en VBA
je vous mets ci dessous le code :
[EDIT de Brebiou]Ajout balise CodeBox
en fait j'ai réussi à le faire en ajoutant directement les recettes sur le combo en VBA
je vous mets ci dessous le code :
Code : Tout sélectionner
Sub comboboxRemplissage()
'Declaration des variables
Dim recup As String
Dim tabsplit() As String
Dim recette As String
Dim famille As String
' Ouverture du fichier contenant les recettes
Open "C:\ARC Informatique\PcVue 11.1\Usr\"Nom du projet"\CTEMP\recipe.dat" For Input As #1
' vidage du combo box
AIComboBox2.Clear
' Lecture et récupération des recettes ligne par ligne
Do While Not EOF(1)
Line Input #1, recup
If recup <> "" Then
tabsplit = Split(recup, ",")
recette = tabsplit(0)
famille = tabsplit(3)
' Insertion de la recette correspondante a la famille voulue au combo
If famille = "Rempli" Then
tmp = AIComboBox2.addItem(recette, "")
End If
End If
Loop
Close #1
End Sub