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:
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. Contributeur Ambassadeur
    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
    1. 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. Contributeur Ambassadeur
        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
    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. Contributeur Ambassadeur
        quel logiciel utilises-tu?
        quel langage?
        0
      2. @yg_beWord 2003 - VBA
        IrfanView
        Windows 10
        0
      3. 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    
        0
      4. @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 ; )
        0
      5. Contributeur Ambassadeur
        @iBennyil aurait été préférable que tu expliques tout cela dès le départ.
        0