Comment gérer des tâches Tasks à nom variables ?

Résolu
iBenny Messages postés 103 Statut Membre -  
 iBenny -
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:
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

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    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?
    0
  2. iBenny Messages postés 103 Statut Membre 2
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      peux-tu montrer un code un peu plus complet, avec la déclaration de, et l'assignation à, la variable tasks?

      veux-tu dire que la partie variable est inconnue, et que tu recherche n'importe quelle "task" ayant un nom se terminant par la partie variable?

      c'est
      tasks
      ou
      Tasks
      ?
      0
  3. iBenny Messages postés 103 Statut Membre 2
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      quel logiciel utilises-tu?
      quel langage?
      0
    2. iBenny Messages postés 103 Statut Membre 2 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Word 2003 - VBA
      IrfanView
      Windows 10
      0
    3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      si 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    
      0
    4. iBenny Messages postés 103 Statut Membre 2 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      J'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 ; )
      0
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > iBenny Messages postés 103 Statut Membre
       
      il aurait été préférable que tu expliques tout cela dès le départ.
      0