Comment gérer des tâches Tasks à nom variables ?
Résolu
Bonjour à vous,
Comment peut-on faire pour utiliser l'instruction Tasks pour trouver une tâche dont le nom varie partiellement ?
Cela s'applique pour:
Mon "nomdelatâche" débute par une partie variable et se termine par le nom du programme :
nomdelatâche = "variable - programme"
Existe-t-il une façon de traiter ce cas ?
Merci d'avance pour votre aide
iBenny
Comment peut-on faire pour utiliser l'instruction Tasks pour trouver une tâche dont le nom varie partiellement ?
Cela s'applique pour:
if tasks.exist("nomdelatâche") then
Tasks("nomdelatâche").activate
endif
Mon "nomdelatâche" débute par une partie variable et se termine par le nom du programme :
nomdelatâche = "variable - programme"
Existe-t-il une façon de traiter ce cas ?
Merci d'avance pour votre aide
iBenny
Configuration: Windows / Firefox 68.9
3 réponses
-
Contributeur Ambassadeurbonjour,
peux-tu donner un exemple?
comment la partie variable est-elle déterminée? ou bien est-elle inconnue?
peux-tu aussi montrer un code un peu plus complet, avec la déclaration de, et l'assignation à, la variable tasks? -
Bonjour
Sub Irfanview() Dim nomdelatâche as string if tasks.exist("nomdelatâche") then Tasks("nomdelatâche").activate endif end sub
La tâche est reliée au programme IrfanView.
La tâche corresponds au libellé de sa barre de titre qui finit généralement par "- Irfanview" mais précédé par le nom du fichier qui est variable.
Quand un zoom est appliqué, le paramètre du zoom est ajouté en fin de titre, donc au nom de la tâche.
On peut donc avoir :
1- "[chemin]/nom de fichier - IrfanView"
2- "[chemin] nom de fichier - IrfanView (Zoom: X x Y)"
J'ai essayé:
nomdelatâche = "*IrfanView" et "*IrfanView"" sans succès.
Merci de votre intérêt
iBenny -
Inutile pour les fins de ma requête. TOUTES les infos pertinentes sont incluses.
Sub Irfanview() if tasks.exist("nomdelatâche") then Tasks("nomdelatâche").activate endif end sub
Je veux remplacer "nomdelatâche" par un texte adéquat.
Je vais re-tester mon nomdelatâche = "*IrfanView" et "*IrfanView"" et revenir là-dessus.
C'est re-testé et... invalide.
Salutations
iBenny-
-
-
Contributeur Ambassadeur@yg_besi jamais tu fais du VBA dans Word,
tu pourrais faire ainsi:Dim t As Task For Each t In Tasks If t.Name Like "*IrfanView" Then t.activate exit for End If Next t -
@yg_beJ'ai dû me résoudre à qqe chose de similaire. Mais je me demandais si des programmeurs plus chevronnés que moi avait la réponse à ma question sans utiliser cet artifice ; )
-
Contributeur Ambassadeur@iBennyil aurait été préférable que tu expliques tout cela dès le départ.
-