VBA vers VBS/VBScript Incoherence Acrobat Version

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour à tous

J'ai un truc bizarre, je dois faire un petit script VBS lancé depuis un Software en Command Line avec passage de paramètres. Rien de terrible... Sauf que !

C'est Acrobat qui me fait des misères, car en fait le petit script doit ouvrir un fichier PDF déterminé en fonction des Paramètres passé dans la ligne de commande. Et selon les versions d'Acrobat ça ne passe pas...

Ce qui me chiffonne le plus c'est que si je simplifie au max le code VBS converti en VBA depuis Excel ça fonctionne !

Exemple VBA :

Option Explicit

Sub OpeningPDFviaWSScript()
Dim PathPDF As String
Dim Fso As Object, She As Object


Set She = CreateObject('WScript.Shell')
Set Fso = CreateObject('Scripting.FileSystemObject')
 
PathPDF = 'i:\MC_Prod\CitiRep\cash\transac\10119999_2003-09-22_3326506414_C.PDF'
     
         
If Fso.FileExists(PathPDF) = False Then
                MsgBox 'Fichier Non Existant.', 16, 'Impossible d
'ouvrir'
               
Exit Sub

         
End If
     
         
        She.Run PathPDF
 
   

End Sub


Exemple VBS :

Option Explicit


Dim PathPDF
Dim Fso,  She


Set She = CreateObject('WScript.Shell')
Set Fso = CreateObject('Scripting.FileSystemObject')
 
PathPDF = 'i:\MC_Prod\CitiRep\cash\transac\10119999_2003-09-22_3326506414_C.PDF'
     
         
If Fso.FileExists(PathPDF) = False Then
                MsgBox 'Fichier Non Existant.', 16, 'Impossible d
'ouvrir'
                wscript.Quit
         
End If
     
         
        She.Run PathPDF
 


Et bien si sur une machine j'ai Adobe Acrobat 5 (Complet) les deux méthodes fonctionnent.... Mais si j'ai Adobe Acrobat 6 seul le code VBA fonctionne, le code VBS ne déclenche strictement rien... Je n'ai pas sous la main de PC équippé avec la Version 7, mais déjà je me pose des questions...

Bizarre, vous avez dit Bizarre..... Comme c'est Bizarre !

Si vous pouvez simplement tester... Merci d'avance

[ol]@+Thierry[/ol]
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Hello All

Arf OK il faut passer les constantes avec Run

She.Run PathPDF, 1, True

(1 = vbNormalFocus, ou encore 3 = vbMaximizedFocus etc)

Pour le True (ou False) je suppose que c'est une notion de Wait, mais je ne vois pas de différence, mais Adobe Acrobat 6 S'ouvre bien maintenant (Acrobat 5 ne nécessitait pas ces constantes)

Voilà Merci Thierry ;)
[ol]@+Thierry[/ol]
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir à tous

Je me fais un petit fil à moi tout seul !

Bon pour ceux qui aurait à travailler un jour avec un Run de WScript.Shell, après mes essais très concluants dans un environnement professionnel, je complète mes réflections.

En fait dans les paramètres de Run, la Boolean en passage dans la ligne de commande semble être tout simplement un paramétrage de lancement l'application hôte en mode Modal ou Non-Modal.

Celà ne m'a pas percuté immédiatement, mais celà peut s'avérer hautement utile si dans un programme le besoin est de ne pas rendre la main tant que l'application hote ainsi lancée (par VBA ou VBS) n'est pas refermée. En outre, en paramétrage True, celà oblige aussi à attendre la fin de l'exécution du processus avant de continuer l'exécution du code si d'autres instructions viennent à la suite.

En fait dans VBA, si on fait l'ommission de ces paramètres, on peut ouvrir Acrobat 6, car il semblerait que VBA les ajoute tacitement, ce que ne fait pas un simple VBS, d'où ma question de ce Fil.

Ce qui reste intriguant (mais donc résolument résolu) c'est qu'Acrobat 5 ne rechigne en rien, paramètre ou pas paramètre, VBA ou VBS !

Bonne Soirée
[ol]@+Thierry[/ol]
 

Discussions similaires

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 377
dernier inscrit
fredy45