OVH Cloud OVH Cloud

Utilisation d'un code VBScript au sien d'une page Web

4 réponses
Avatar
Mathieu M
Dans la doc "Microsoft Windows Script", j'ai trouvé un code vb qui permet de
trouver le répertoire temporaire et d'y créer un fichier aléatoire dedant.
Or quand j'execute ce code, une erreur apparait :
" Un composant ActiveX ne peut pas créer un objet :
'Scripting.FileSystemObject' "
Remarque : j'ai testé ce code en le mettant dans un fichier ".vbs" et il
fonctionne parfaitement.
Merci pour vos réponses
========================================
Dim fso, tempfile
Set fso = CreateObject("Scripting.FileSystemObject")

Function CreateTempFile
Dim tfolder, tname, tfile
Const TemporaryFolder = 2
Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
tname = fso.GetTempName
Set tfile = tfolder.CreateTextFile(tname)
Set CreateTempFile = tfile
End Function

Set tempfile = CreateTempFile
tempfile.WriteLine "Hello World"
tempfile.Close
========================================

4 réponses

Avatar
Mathieu M
Peite précision j'exécute ce coded au sein du navigateur IE 6.0

"Mathieu M" a écrit :

Dans la doc "Microsoft Windows Script", j'ai trouvé un code vb qui permet de
trouver le répertoire temporaire et d'y créer un fichier aléatoire dedant.
Or quand j'execute ce code, une erreur apparait :
" Un composant ActiveX ne peut pas créer un objet :
'Scripting.FileSystemObject' "
Remarque : j'ai testé ce code en le mettant dans un fichier ".vbs" et il
fonctionne parfaitement.
Merci pour vos réponses
======================================= > Dim fso, tempfile
Set fso = CreateObject("Scripting.FileSystemObject")

Function CreateTempFile
Dim tfolder, tname, tfile
Const TemporaryFolder = 2
Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
tname = fso.GetTempName
Set tfile = tfolder.CreateTextFile(tname)
Set CreateTempFile = tfile
End Function

Set tempfile = CreateTempFile
tempfile.WriteLine "Hello World"
tempfile.Close
========================================


Avatar
DJ
ben tu as pensé à authoriser les ActiveX dans l'IE ????
surement que non! le message est typique de ce Pb.

DJ

Mathieu M wrote:
Peite précision j'exécute ce coded au sein du navigateur IE 6.0

"Mathieu M" a écrit :

Dans la doc "Microsoft Windows Script", j'ai trouvé un code vb qui
permet de trouver le répertoire temporaire et d'y créer un fichier
aléatoire dedant. Or quand j'execute ce code, une erreur apparait :
" Un composant ActiveX ne peut pas créer un objet :
'Scripting.FileSystemObject' "
Remarque : j'ai testé ce code en le mettant dans un fichier ".vbs"
et il fonctionne parfaitement.
Merci pour vos réponses
======================================= >> Dim fso, tempfile
Set fso = CreateObject("Scripting.FileSystemObject")

Function CreateTempFile
Dim tfolder, tname, tfile
Const TemporaryFolder = 2
Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
tname = fso.GetTempName
Set tfile = tfolder.CreateTextFile(tname)
Set CreateTempFile = tfile
End Function

Set tempfile = CreateTempFile
tempfile.WriteLine "Hello World"
tempfile.Close
========================================




Avatar
Mathieu M
Merci de ta réponse

Mais bon peut on mettre en place une application web qui demande au client
d'accepter les ActiveX ?
Parce que, quand le client ne s'y connait pas trop, c'est le genre d'erreur
qui se rajoute au niveau de la sav.
Surtout que ce "servicec web" serat utilisé par des CLIENTS INDIRECTS, ce
qui fait que tous les CLIENTS INDIRECTS chez qui IE est configuré pour
refuser les ActiveX vont contacter nos CLIENTS DIRECTS pour leur signaler que
ca ne marchent pas.

Mais bon c'est vrai qu'il suffit lors de la vente du produit de le préciser.
Mais bon c'est pas top.

Il y a-t-il un moyen de savoir si le navigateur accepte les ActiveX,
histoire , dans ce cas là, écrire un message qui demande à l'utilisateur de
les autoriser.

Merci d'avance
Avatar
Patrick Philippot
Bonjour,

Mathieu M wrote:
Mais bon peut on mettre en place une application web qui demande au
client d'accepter les ActiveX ?



Ça n'est une bonne idée que pour un Intranet ou pour une application
dont on maîtrise la plateforme cliente ou pour une application destinée
aux utilisateurs de Windows et de IE exclusivement. Certains browsers
supportent des addons ActiveX mais ce n'est pas natif en général.

Dans les autres cas, l'aventure est risquée.

Il y a-t-il un moyen de savoir si le navigateur accepte les ActiveX,
histoire , dans ce cas là, écrire un message qui demande à
l'utilisateur de les autoriser.



Non. On peut juste vérifier si le navigateur est IE ou pas. A la limite,
on peut essayer de vérifier l'instanciation du contrôle par un bout de
script mais je ne suis pas sûr que ça fonctionne à tous les coups.

Le mieux est de passer obligatoirement par une page d'accueil
explicitant clairement cette contrainte. Une stratégie possible pourrait
être d'utiliser une applet Java pour faire certaines vérifications avant
de passer aux pages contenant des ActiveX Controls. Mais si on maîtrise
Java... :-) .

Je vous encourage plutôt à explorer la piste ASP .Net qui permet de
faire beaucoup de choses de manière indépendante du navigateur client.

Mais nous voilà largement hors-sujet...

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr