Question de débutant en jscript
Fermé
devil10
Messages postés
49
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 octobre 2007
-
15 mars 2006 à 10:55
devil10 Messages postés 49 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 octobre 2007 - 23 mars 2006 à 18:55
devil10 Messages postés 49 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 octobre 2007 - 23 mars 2006 à 18:55
A voir également:
- Question de débutant en jscript
- Logiciel de programmation pour débutant - Guide
- Debut logiciel de capture video - Télécharger - TV & Vidéo
- Chanson avec bruit de moteur au début - Forum Musique / Radio / Clip
- Formation sap débutant pdf - Forum compta / gestion
- Logiciel montage vidéo débutant - Guide
15 réponses
Utilisateur anonyme
15 mars 2006 à 23:05
15 mars 2006 à 23:05
Bonjour,
une observation...
Le chemin d'accès est incomplet ;
fichier=("fichier.doc");
sous vbs je fais comme ceci
CeFichier = WScript.ScriptFullName
MonFichier = Left(CeFichier, InStrRev(CeFichier, "\"))
MonFichier = MonFichier & "fichier.doc"
ou encore quelque chose comme :
lecteur=%systemroot%
lecteur=mid(lecteur,1,2)
fichier=(lecteur & "\Documents and Settings\" & %username% & "\Bureau\MonDocument.doc")
je n'ai que des connaissances de base en js, mais à toutes les fois que je prend du code source sur msdn VBS la démonstration est présenté dans les 2 langages( JS et VBS).
Lupin
une observation...
Le chemin d'accès est incomplet ;
fichier=("fichier.doc");
sous vbs je fais comme ceci
CeFichier = WScript.ScriptFullName
MonFichier = Left(CeFichier, InStrRev(CeFichier, "\"))
MonFichier = MonFichier & "fichier.doc"
ou encore quelque chose comme :
lecteur=%systemroot%
lecteur=mid(lecteur,1,2)
fichier=(lecteur & "\Documents and Settings\" & %username% & "\Bureau\MonDocument.doc")
je n'ai que des connaissances de base en js, mais à toutes les fois que je prend du code source sur msdn VBS la démonstration est présenté dans les 2 langages( JS et VBS).
Lupin
devil10
Messages postés
49
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 octobre 2007
1
16 mars 2006 à 16:11
16 mars 2006 à 16:11
Bonjour Lupin,
pour le chemin du fichier, pas de problème il est dans netlogon et j'ai écrit
pour le chemin du fichier, pas de problème il est dans netlogon et j'ai écrit
devil10
Messages postés
49
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 octobre 2007
1
16 mars 2006 à 16:12
16 mars 2006 à 16:12
Bonjour Lupin,
pour le chemin du fichier, pas de problème il est dans netlogon et j'ai écrit "fichier .doc" pour simplifier.
Si j'ai un problème de chemin ça pourrait être plutot dans l'appli.
je vais aussi puiser des idées sur msdn, mais comme je débute....
j'aimerais bien trouver rapidement, mais ...
merci, si tuas d'autres idées pour m'aider où bien la meme chose en VBS
pour le chemin du fichier, pas de problème il est dans netlogon et j'ai écrit "fichier .doc" pour simplifier.
Si j'ai un problème de chemin ça pourrait être plutot dans l'appli.
je vais aussi puiser des idées sur msdn, mais comme je débute....
j'aimerais bien trouver rapidement, mais ...
merci, si tuas d'autres idées pour m'aider où bien la meme chose en VBS
Utilisateur anonyme
17 mars 2006 à 02:52
17 mars 2006 à 02:52
re:
un script VBS pure !
copier/coller dans un fichier texte que tu renomme avec l'extension vbs.
en supossant que le script est dans le même répertoire que
le document word!
Lupin
un script VBS pure !
Dim objFSO, CeDocument, Chemin CeDocument = "fichier.doc" Set objFSO = CreateObject("Scripting.FileSystemObject") Set wrdApp = CreateObject("Word.Application") ' Vérification de la présence du document Chemin = WScript.ScriptFullName Chemin = Left(Chemin, InStrRev(Chemin, "\")) CeDocument = Chemin & "fichier.doc" If (objFSO.FileExists(CeDocument)) Then ' Ouverture du document word Set wrddoc = wrdApp.Documents.Open(CeDocument) Else ' Création du document word Set wrddoc = wrdApp.Documents.Add wrdApp.ActiveDocument.SaveAs(CeDocument) End If wrdApp.Visible = True Set wrddoc = Nothing Set objFSO = Nothing WScript.Echo "Fin d'exécution" & vbCrLf & "Bonne journée!" WScript.Quit
copier/coller dans un fichier texte que tu renomme avec l'extension vbs.
en supossant que le script est dans le même répertoire que
le document word!
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
devil10
Messages postés
49
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 octobre 2007
1
17 mars 2006 à 13:48
17 mars 2006 à 13:48
bonjour,
merci d'avoir fouillé dans tes tips. J'ai modifié ton vbs comme ça :
(j'enlève ce qui ne me sert à rien)
Dim objFSO, CeDocument, Chemin
CeDocument = "\\serveur\netlogon\FIC.doc"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wrdApp = CreateObject("Word.Application")
' Vérification de la présence du document
Chemin = WScript.ScriptFullName
' Chemin = Left(Chemin, InStrRev(Chemin, "\"))
' CeDocument = Chemin & "\\serveur\netlogon\FIC.doc"
If (objFSO.FileExists(CeDocument)) Then
' Ouverture du document word
Set wrddoc = wrdApp.Documents.Open(CeDocument)
' Else
' Création du document word
' Set wrddoc = wrdApp.Documents.Add
' wrdApp.ActiveDocument.SaveAs(CeDocument)
End If
wrdApp.Visible = True
Set wrddoc = Nothing
Set objFSO = Nothing
' WScript.Echo "Fin d'exécution" & vbCrLf & "Bonne journée!"
WScript.Quit
FIC.doc est en place dans netlogon, mon script s'appelle message.vbs, et dans mon profil j'ai mis en ouverture de cession \\serveur\netlogon\message.vbs.
lorsque je lance message.vbs dans le serveur (en local) ça marche, mais lorsque j'ouvre une cession sur le domaine avec mon login, eh ben rien ne se passe.
point mort....reflexions.....
merci d'avoir fouillé dans tes tips. J'ai modifié ton vbs comme ça :
(j'enlève ce qui ne me sert à rien)
Dim objFSO, CeDocument, Chemin
CeDocument = "\\serveur\netlogon\FIC.doc"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wrdApp = CreateObject("Word.Application")
' Vérification de la présence du document
Chemin = WScript.ScriptFullName
' Chemin = Left(Chemin, InStrRev(Chemin, "\"))
' CeDocument = Chemin & "\\serveur\netlogon\FIC.doc"
If (objFSO.FileExists(CeDocument)) Then
' Ouverture du document word
Set wrddoc = wrdApp.Documents.Open(CeDocument)
' Else
' Création du document word
' Set wrddoc = wrdApp.Documents.Add
' wrdApp.ActiveDocument.SaveAs(CeDocument)
End If
wrdApp.Visible = True
Set wrddoc = Nothing
Set objFSO = Nothing
' WScript.Echo "Fin d'exécution" & vbCrLf & "Bonne journée!"
WScript.Quit
FIC.doc est en place dans netlogon, mon script s'appelle message.vbs, et dans mon profil j'ai mis en ouverture de cession \\serveur\netlogon\message.vbs.
lorsque je lance message.vbs dans le serveur (en local) ça marche, mais lorsque j'ouvre une cession sur le domaine avec mon login, eh ben rien ne se passe.
point mort....reflexions.....
Utilisateur anonyme
17 mars 2006 à 15:54
17 mars 2006 à 15:54
re :
Lupin
Const RepSrcFichier = "\\serveur\netlogon" Const LecteurReseau = "M:" Dim objFSO, objReseau, CeDocument Set objReseau = CreateObject("WScript.Network") objReseau.MapNetworkDrive LecteurReseau, RepSrcNotes, "True" Set objFSO = CreateObject("Scripting.FileSystemObject") Set wrdApp = CreateObject("Word.Application") ' Vérification de la présence du document CeDocument = LecteurReseau & "\" & "FIC.DOC" If (objFSO.FileExists(CeDocument)) Then ' Ouverture du document word Set wrddoc = wrdApp.Documents.Open(CeDocument) End If wrdApp.Visible = True objReseau.RemoveNetworkDrive LecteurReseau, True, True Set wrddoc = Nothing Set objFSO = Nothing Set objReseau = Nothing WScript.Quit
Lupin
devil10
Messages postés
49
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 octobre 2007
1
17 mars 2006 à 17:10
17 mars 2006 à 17:10
Merci Lupin pour le temps que tu me consacres.
j'ai essayé ça ne marche pas.
j'ai changé ligne 7 "RepSrcNotes" en "RepSrcFichier" ça me parait plus logique. comme ça, ça marche encore en local, mais toujours pas en réseau.
c'est vrai que c'est plus facile pour moi qui suit devant mon cas réel, pour toi, tu avances en aveugle, sans voir le résultats de ton prog.
Avec ce que tu m'as donné je continue à réfléchir un peu ce WE, on se tient informé, sur ce forum.
j'ai essayé ça ne marche pas.
j'ai changé ligne 7 "RepSrcNotes" en "RepSrcFichier" ça me parait plus logique. comme ça, ça marche encore en local, mais toujours pas en réseau.
c'est vrai que c'est plus facile pour moi qui suit devant mon cas réel, pour toi, tu avances en aveugle, sans voir le résultats de ton prog.
Avec ce que tu m'as donné je continue à réfléchir un peu ce WE, on se tient informé, sur ce forum.
Utilisateur anonyme
17 mars 2006 à 19:20
17 mars 2006 à 19:20
re :
quelques trucs de déboggage !
A.) cette ligne :
Const RepSrcFichier = "\\serveur\netlogon"
pourrait être remplacer par :
Const RepSrcFichier = "\\192.168.0.1\netlogon"
B.) ajouter des lignes comme :
CeDocument = LecteurReseau & "\" & "FIC.DOC"
WScript.Echo CeDocument
et autre trucs important :
créer un raccourci du script, ensuite éditer les propriétés du
raccourci.
remplacer :
Cible : C:\TEMP\OuvrirWord.vbs
par :
Cible : %windir%\system32\cscript.exe "C:\Temp\OuvrirWord.vbs" //x
lancer le raccourci, et c'est le déboggeur qui se déclenche,
et la c'est du mode pas à pas !
après la ligne :
objReseau.MapNetworkDrive LecteurReseau, RepSrcNotes, "True"
assure-toi que le lecteur est mappé en visualisant dans l'explorateur windows.
Lupin
quelques trucs de déboggage !
A.) cette ligne :
Const RepSrcFichier = "\\serveur\netlogon"
pourrait être remplacer par :
Const RepSrcFichier = "\\192.168.0.1\netlogon"
B.) ajouter des lignes comme :
CeDocument = LecteurReseau & "\" & "FIC.DOC"
WScript.Echo CeDocument
et autre trucs important :
créer un raccourci du script, ensuite éditer les propriétés du
raccourci.
remplacer :
Cible : C:\TEMP\OuvrirWord.vbs
par :
Cible : %windir%\system32\cscript.exe "C:\Temp\OuvrirWord.vbs" //x
lancer le raccourci, et c'est le déboggeur qui se déclenche,
et la c'est du mode pas à pas !
après la ligne :
objReseau.MapNetworkDrive LecteurReseau, RepSrcNotes, "True"
assure-toi que le lecteur est mappé en visualisant dans l'explorateur windows.
Lupin
Utilisateur anonyme
17 mars 2006 à 23:26
17 mars 2006 à 23:26
et puisque le problème semble réseau...
le lecteur réseau !
Const RepSrcFichier = "\\serveur\netlogon"
Const RepSrcFichier = "\\192.168.0.1\netlogon"
Lorsque tu connecte un lecteur réseau, celui-ci est à coup
sur un lecteur virtuel qui pourrait ne pas être à la racine
du lecteur physique touché.
ex.:
D:\Organisation\Users\netlogon\Fic.doc.
maintenant on définit un partage sur le dossier [\Users]
Const RepSrcFichier = "\\192.168.0.1\netlogon"
si le partage est sur le dossier [\netlogon]
alors on obtient :
Const RepSrcFichier = "\\192.168.0.1"
quand tu inscrit cette ligne dans //démarrer/exécuter
[\\192.168.0.1]
ou encore
[\\192.168.0.1\netlogon]
vois-tu le fichier FIC.doc ?
@+
Lupin
le lecteur réseau !
Const RepSrcFichier = "\\serveur\netlogon"
Const RepSrcFichier = "\\192.168.0.1\netlogon"
Lorsque tu connecte un lecteur réseau, celui-ci est à coup
sur un lecteur virtuel qui pourrait ne pas être à la racine
du lecteur physique touché.
ex.:
D:\Organisation\Users\netlogon\Fic.doc.
maintenant on définit un partage sur le dossier [\Users]
Const RepSrcFichier = "\\192.168.0.1\netlogon"
si le partage est sur le dossier [\netlogon]
alors on obtient :
Const RepSrcFichier = "\\192.168.0.1"
quand tu inscrit cette ligne dans //démarrer/exécuter
[\\192.168.0.1]
ou encore
[\\192.168.0.1\netlogon]
vois-tu le fichier FIC.doc ?
@+
Lupin
devil10
Messages postés
49
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 octobre 2007
1
20 mars 2006 à 13:24
20 mars 2006 à 13:24
bonjour,
désolé, mais j'étais overbooké ce WE, je n'ai pas eu de temps pour le travail...
j'ai repris le fil mais rien n'avance, j'ai vérifié que le déroulement du programme se passe bien, le script reconnait aussi bien l'IP que le nom, le lecteur est bien mappé mais c'est l'application word qui ne se lance pas.
ce script me rendrait de grands services, c'est pourquoi je ne lache pas le morceau.
merci de ton aide
désolé, mais j'étais overbooké ce WE, je n'ai pas eu de temps pour le travail...
j'ai repris le fil mais rien n'avance, j'ai vérifié que le déroulement du programme se passe bien, le script reconnait aussi bien l'IP que le nom, le lecteur est bien mappé mais c'est l'application word qui ne se lance pas.
ce script me rendrait de grands services, c'est pourquoi je ne lache pas le morceau.
merci de ton aide
Utilisateur anonyme
21 mars 2006 à 00:57
21 mars 2006 à 00:57
re :
alors plus simplement, test le script suivant à partir du poste
en question :
connecte le lecteur réseau manuellement sur la lettre M:
tel quel et sans modif , sauf bien sur la cte RepSrcFichier !
Les 2 Echos sont bien sur à des points stratégique.
Le dernier t'indique surtout qu'il n'y as pas eu d'erreur !.
test et dis moi, en effet je suis aveugle !
n.b. tu remarqueras que dans les versions précédentes que
j'ai proposé j'ai oublié de déclarer les objets words, ce que
j'ai corrigé ici.
Lupin
alors plus simplement, test le script suivant à partir du poste
en question :
connecte le lecteur réseau manuellement sur la lettre M:
tel quel et sans modif , sauf bien sur la cte RepSrcFichier !
Const RepSrcFichier = "M:\Services\MyIP" Dim objFSO, objWrdApp, objWrdDoc, CeDocument Set objFSO = CreateObject("Scripting.FileSystemObject") CeDocument = RepSrcFichier & "\" & "FIC.DOC" If (objFSO.FileExists(CeDocument)) Then Set objWrdApp = CreateObject("Word.Application") WScript.Echo CeDocument Set objWrdDoc = objWrdApp.Documents.Open(CeDocument) objWrdApp.Visible = True End If Set objWrdDoc = Nothing Set objWrdApp = Nothing Set objFSO = Nothing WScript.Echo "Fin." WScript.Quit
Les 2 Echos sont bien sur à des points stratégique.
Le dernier t'indique surtout qu'il n'y as pas eu d'erreur !.
test et dis moi, en effet je suis aveugle !
n.b. tu remarqueras que dans les versions précédentes que
j'ai proposé j'ai oublié de déclarer les objets words, ce que
j'ai corrigé ici.
Lupin
devil10
Messages postés
49
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 octobre 2007
1
22 mars 2006 à 08:21
22 mars 2006 à 08:21
bonjour Lupin
tu vas me trouver bien nul, mais tant pis j'assume.
j'ai bien avancé puisque tes scripts fonctionnait bien mais le problème était ailleurs.
en effet pour faire mes tests j'utilisais mon login et je rentrais mon script d'ouverture dans le profil de mon login. Or c'est ça qui ne fonctionnait pas. Maintenant que j'utilise le paramètre sur une stratégie de groupe ça marche.
j'ai fait le test sur ton dernier, puis je suis revenu sur le précédent et il fonctionne aussi.
il me reste maintenant deux petits trucs à résoudre:
- je veux pouvoir récupérer le paramètre du fichier en arguments
-quand Word s'ouvre j'aimerais qu'il s'ouvre dans une fenêtre au centre de l'écran et qu'on puisse fermer cette fenêtre sans confirmation
en reprenant ce que tu m'as donné ça donne ça:
Dim objFSO, CeDocument, Chemin, wrddoc, objArgs
Set objArgs = WScript.Arguments
set CeDocument = ("\\dc\netlogon\" & objArgs(0) &".doc")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wrdApp = CreateObject("Word.Application")
Chemin = WScript.ScriptFullName
If (objFSO.FileExists(CeDocument)) Then
Set wrddoc = wrdApp.Documents.Open(CeDocument)
End If
wrdApp.Visible = True
Set wrddoc = Nothing
Set objFSO = Nothing
WScript.Quit
tu vas me trouver bien nul, mais tant pis j'assume.
j'ai bien avancé puisque tes scripts fonctionnait bien mais le problème était ailleurs.
en effet pour faire mes tests j'utilisais mon login et je rentrais mon script d'ouverture dans le profil de mon login. Or c'est ça qui ne fonctionnait pas. Maintenant que j'utilise le paramètre sur une stratégie de groupe ça marche.
j'ai fait le test sur ton dernier, puis je suis revenu sur le précédent et il fonctionne aussi.
il me reste maintenant deux petits trucs à résoudre:
- je veux pouvoir récupérer le paramètre du fichier en arguments
-quand Word s'ouvre j'aimerais qu'il s'ouvre dans une fenêtre au centre de l'écran et qu'on puisse fermer cette fenêtre sans confirmation
en reprenant ce que tu m'as donné ça donne ça:
Dim objFSO, CeDocument, Chemin, wrddoc, objArgs
Set objArgs = WScript.Arguments
set CeDocument = ("\\dc\netlogon\" & objArgs(0) &".doc")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wrdApp = CreateObject("Word.Application")
Chemin = WScript.ScriptFullName
If (objFSO.FileExists(CeDocument)) Then
Set wrddoc = wrdApp.Documents.Open(CeDocument)
End If
wrdApp.Visible = True
Set wrddoc = Nothing
Set objFSO = Nothing
WScript.Quit
Utilisateur anonyme
23 mars 2006 à 01:13
23 mars 2006 à 01:13
Bonjour,
au contraire si tu as trouvé la soluce c'est très bien! Bravo :-)
je fais beaucoup d'erreur avant d'avoir un résultat concluant !
il y aura 25 ans que je code à temps partiel et ça change tout
le temps !
j'ai apporté quelques modif !
quand je code, toute variable qu'il faut instancier porte
le prefixe [obj], implique l'utilisation du [Set MaVariable = "Cette objet"],
si la variable n'a pas ce prefixe, il s'agit d'une simple affectation.
[ MaVariable = "Cette valeur" ].
J'ai tester avec un chemin local (6e ligne) !
Lupin
au contraire si tu as trouvé la soluce c'est très bien! Bravo :-)
je fais beaucoup d'erreur avant d'avoir un résultat concluant !
il y aura 25 ans que je code à temps partiel et ça change tout
le temps !
j'ai apporté quelques modif !
Dim objFSO, CeDocument, objAppWrd, objWrdDoc, objArgs Set objArgs = WScript.Arguments if ( objArgs.Count > 0 ) Then CeDocument = ("\\dc\netlogon\" & objArgs(0) &".doc") Set objFSO = CreateObject("Scripting.FileSystemObject") Set objAppWrd = CreateObject("Word.Application") If (objFSO.FileExists(CeDocument)) Then Set objAppWrd = CreateObject("Word.Application") Set ObjWrdDoc = objAppWrd.Documents.Open(CeDocument) objAppWrd.Visible = True Set objWrdDoc = Nothing End If Set objAppWrd = Nothing Set objFSO = Nothing Else WScript.Echo "Argument manquant!" End If WScript.Quit
quand je code, toute variable qu'il faut instancier porte
le prefixe [obj], implique l'utilisation du [Set MaVariable = "Cette objet"],
si la variable n'a pas ce prefixe, il s'agit d'une simple affectation.
[ MaVariable = "Cette valeur" ].
J'ai tester avec un chemin local (6e ligne) !
Lupin
Utilisateur anonyme
23 mars 2006 à 01:25
23 mars 2006 à 01:25
suite :
Pour centrer l'application, je recommande un macro word, je code moins avec les objets Documents. Mais je me débrouille, alors il
suffit que tu ouvre word, tu lance une nouvelle macro
//Menu/Outils/Macro/Nouvelle Macro...
une petite cassette apparaît pour spécifier que tu es en mode
enregistrement, tu positionne word exactement comme tu le veux
et tu arrêtes l'enregistrement.
ensuite
//Menu/Outils/Macro/Visual Basic Editor (VBE)
dans la fenêtre projet, repere Normal/Modules/NewMacros
apporte ici le code, je pourrai le nettoyer !
ça ressemble a ceci !
Application.WindowState = wdWindowStateNormal
Application.Move Left:=99, Top:=84
Application.Resize Width:=447, Height:=383
@+
Lupin
Pour centrer l'application, je recommande un macro word, je code moins avec les objets Documents. Mais je me débrouille, alors il
suffit que tu ouvre word, tu lance une nouvelle macro
//Menu/Outils/Macro/Nouvelle Macro...
une petite cassette apparaît pour spécifier que tu es en mode
enregistrement, tu positionne word exactement comme tu le veux
et tu arrêtes l'enregistrement.
ensuite
//Menu/Outils/Macro/Visual Basic Editor (VBE)
dans la fenêtre projet, repere Normal/Modules/NewMacros
apporte ici le code, je pourrai le nettoyer !
ça ressemble a ceci !
Application.WindowState = wdWindowStateNormal
Application.Move Left:=99, Top:=84
Application.Resize Width:=447, Height:=383
@+
Lupin
devil10
Messages postés
49
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 octobre 2007
1
23 mars 2006 à 18:55
23 mars 2006 à 18:55
bonsoir Lupin,
Je crois que je touche au but et c'est grace à toi.
je ne sais pas si tu as vu le titre du post, mais ça parlait de jscript....
je crois qu'on s'est éloigné. En tout cas pour terminer la conversation je crois que ça serait mieux pour tous qu'on termine par mail.
Donne moi ton adresse sur pc.tux.help@free.fr. Je te donnerais les derniers détails, entre autres pour la taille de la fenêtre.
merci encore.
Je crois que je touche au but et c'est grace à toi.
je ne sais pas si tu as vu le titre du post, mais ça parlait de jscript....
je crois qu'on s'est éloigné. En tout cas pour terminer la conversation je crois que ça serait mieux pour tous qu'on termine par mail.
Donne moi ton adresse sur pc.tux.help@free.fr. Je te donnerais les derniers détails, entre autres pour la taille de la fenêtre.
merci encore.