Automatisation en VBS qui ne fonctionne plus
Bonjour
Je suis nouveau dans l'univers des programme en VBS, je manque peut être de finesse, si oui veuillez m'en excuser
Voilà mon soucis, depuis quelques jours je rencontre un problème d'exécution avec mon fichier VBS, intitulé code.
Il ne déclenche plus à l'ouverture de ma session Windows (10) le message box qu'il est sensé exécuter.
Par contre, voici ce qui s'affiche à la place
Mes questions sont les suivantes:
- Qu'est ce que cela veut dire?
- Est ce qu'il y a un caractère manquant, dans la ligne 2?
- Si oui, lequel?
- D'abord, c'est quoi Caract: 1?
J'avoue ne plus rien y comprendre.
Pas plus tard que la semaine dernière ce "foutu" fichier VBS en question fonctionnait encore
Dans l'hypothèse ou il s'agirait d'autre chose, c'est quoi la soluce, lorsqu'une erreur comme ça arrive?
D'avance, je remercie tous ceux et celles qui pourront me dépanner et suis reconnaissant des efforts que vous fournissez.
Cordialement
R.S
En 'PJ', vous trouverez le code VBS, ainsi que le Fic Excel qui s'y rapporte
Set aapp= WScript.CreateObject("WScript.Shell")
Set appli= WScript.CreateObject("excel.Application")
appli.visible=0
k0= len(wscript.scriptfullname)
k1=len(wscript.scriptname)
destination= left(wscript.scriptfullname,k0-k1)
set monfichier=appli.workbooks.open(destination & "Calendrier_des_evenements(v1).xlsb")
appli.run("analyse")
appli.quit
Bonjour
Il n'y a pas de DSI.
Le plus haut administrateur c'est moi
On a faire à un dysfonctionnement du type fichier endommagé.
Reste à savoir lequel et ou?
Par contre, J'admets qu'à partir de là, je ne suis plus dans "ma zone de confort"
Bien à vous
R.S
Salut,
Recherche le fameux fichier c:\Users\tekur\Documents\Code.vbs
je fais un édit car je suppose que les lignes postées sont les premières...
As-tu tenté de regarder du coté d'Excel voir si tout est bien de son coté ?
Bonjour
Pour répondre à ta question.
Il me semble que le fic Excel est fonctionnel, je l'utilise régulièrement (hors VBS).
Apparemment, tout semble correcte, il ne présente pas d'anomalie.
Pour le coup, oui.
J'ai regardé et reregardé ce qui pouvait entraver l'ouverture de cette satanée "box", à partir de la matrice Excel et je ne perçois rien d'anormal dans les lignes du code
Après, ma science en la matière (VBA/ VBS) étant limitée, mon affirmation sur ce sujet n'est peut être pas de nature plausible?
Il y a peut être quelque chose dans les lignes de requêtes qui cloche que je ne vois pas!
Enfin, les lignes postées dans mon premier message, c'est le code complet du petit fichier VBS, avec le FIC Excel qui s'y rapporte, en 'PJ'.
Ce qui est affiché au sujet de ce code se trouvent là, présent sous tes yeux, il n'y a pas de suite, tout est présent (Y compris le Fic Excel)
NB/ Voici le code du fichier VBS, par contre, impossible de joindre le fichier (VBS)lui même: "Fichier non autorisé"
Set aapp= WScript.CreateObject("WScript.Shell")
Set appli= WScript.CreateObject("excel.Application")
appli.visible=0
k0= len(wscript.scriptfullname)
k1=len(wscript.scriptname)
destination= left(wscript.scriptfullname,k0-k1)
set monfichier=appli.workbooks.open(destination & "Calendrier_des_evenements(v1).xlsb")
appli.run("analyse")
appli.quitCordialement,
R.S
Bonjour Slavko
J'ai regardé mes scripts et je ne préfixe pas par WScript les Instructions CreateObject
Bonjour à toi l'ami
Le souci, c'est que ce VBS (tel qu'il est rédigé), a fonctionné ainsi jusqu'à la semaine dernière
La clé de la soluce est là, en fait:
Comprendre pourquoi ce script à fonctionné et pourquoi d'un coup il ne fonctionne plus?
Quoi qu'il en soit, il faut trouver un remède efficace, en:
- "Déterminant la vraie cause du dysfonctionnement?" (Hors compétence)
- Puis, que faut-il faut rédiger à la place de ce script (si ce script en est la cause) pour rétablir l'intégrité fonctionnelle de ce VBS? (Hors compétence, également)
D'avance, en vous remerciant
R.S
- "Déterminer la vraie cause du dysfonctionnement?" c'est ce que j'essaye de t'apporter avec mon expérience, le but est d'en finir avec ton problème : rien d'autres. Je t'octroie du temps sur mon taf.
-si tu lances bien ton script avec
Cscript nom_du_script.vbs
Essaye cela:
Set aapp= CreateObject("WScript.Shell")
Set appli= CreateObject("excel.Application")
au lieu de
Set aapp= WScript.CreateObject("WScript.Shell")
Set appli= WScript.CreateObject("excel.Application")Si la première ligne Set aapp= WScript.CreateObject("WScript.Shell")
ne te sert pas tu la supprimes, la variable aapp n'est PAS UTILISEE.
P.S. je viens d'écrire un petit script VBS pour convertir un XLS en CSV et un CSV en XLS et j'en ai écrit des centaines
J'utilise aussi la ligne de déclaration obligatoire des variable
Option Explicitqui impose de déclarer les variables
dim ma_variable et lorsque je bloque sur un VBScript, je le colle dans un module VBA dans excel, et j'utilise le debuggueur intégré (F8)
quelques instructions très peu nombreuses ne fonctionnent pas mais j'ai tous les éléments et compétences pour les contourner
Alors essaye VBA pour finalise ton VBScript
Merci SCRAPER
Tu es géniales, la commande refonctionne et plus rapidement qu'avant.
Lorsque je lance la commande manuellement, le temps de latence est beaucoup moindre
En fait, c'était ça: La première ligne n'est pas utile, dans ce cas
Maintenant, il faut que je crée une tâche planifiée pour vérifier que la Mg BOX s'ouvre automatiquement à l'ouverture de ma session!!
Encore une fois merci, chapeau bas l'ami et, je sais reconnaitre un expert quand j'en vois un.
Un grand merci.
Bonjour
C'est à nouveau moi, je reviens avec le même problème d'affichage de la MSG Box, à partir d'un VBS et d'une création de tâche planifiée.
En effet, après une brève satisfaction de très courte durée, le VBS capricieux à de nouveau refait des siennes, ce matin au redémarrage du 'PC'
Il n' a pas crée l'objet qu'il était sensé créer, à savoir ouvrir une MSG Box, en mode tâche planifiée, à partir de son VBA.
Donc, j'ai décidé d'ouvrir le "capot" du Fic Excel qui contient le VBA matriciel pour rendre explicite certaines valeurs.
Mais, voilà ce qui arrive, maintenant:
J'ai le sentiment que plus j'avance et plus je m'enfonce dans une espèce de forêt dense et épaisse.
En bref, je ne perçois pas la sortie.
Quelqu'un peut me guider, pour me sortir de ce bourbier?
Dis moi SCRAPER, tu as une idée pour corriger ça?
En 'PJ', il y a la matrice
D'avance merci
R.S
(FICHIER VBS)
Set appli= CreateObject("excel.Application")
appli.visible=0
k0= len(wscript.scriptfullname)
k1=len(wscript.scriptname)
destination= left(wscript.scriptfullname,k0-k1)
set monfichier=appli.workbooks.open(destination & "Calendrier_des_evenements(v1).xlsb")
appli.run("analyse")
appli.quit
bonjour
en première ligne je mettrai
set fso = createobject("Scripting.FileSystemObject")
et je relplacerais la ligne : set nomfichier = ....
je testerais l'existence du fichier
if fso.FileExists(destination & "Calendrier_des_evenements(v1).xlsb") Then
monfichier=appli.workbooks.open(destination & "Calendrier_des_evenements(v1).xlsb")
else
wscript.echo "fichier non trouvé "
endif
Bonjour SCRAPER
Hier, j'ai passé ma journée avec ce VBS de malheur.
J'ai fais toutes les manipes possibles, avec tes lignes de codes et rien.
C'est toujours échecs sur échecs, à un moment donné, il faut savoir s'arrêter.
Resté digne et humble fasse à un adversaire plus fort et déterminé!
En plus, je pense que tu as mieux à faire que perdre du temps sur un cas désespéré?
En tout cas, je te remercie pour ta gentillesse et ta patience.
Après autant de temps (que j'ai perdu), à m'acharner sur ce VBS qui ne redémarre tjours pas (malgré tous nos efforts)
Je pense qu'il faut regarder ailleurs, le soucis ne vient peut être pas du fichier directement, après tout!
D'ailleurs, il fonctionnait dans sa config de départ, encore il y a peu.
Donc, à la lumière des évènements des dernières 24 h, je suis convaincu que le système est responsable de ces défaillances et pas le VBS.
SCRAPER, bien à toi
R.S
Bonjour Sylko
Désolé de relancer le sujet, mais je viens de faire un test chez moi et ça fonctionne
1) les 2 fichiers mis dans C:\Temp
2) Le scipt VBS changé : Set monfichier ne sert à rien
Set appli= CreateObject("excel.Application")
appli.visible=0
k0= len(wscript.scriptfullname)
k1=len(wscript.scriptname)
destination= left(wscript.scriptfullname,k0-k1)
appli.workbooks.open(destination & "Calendrier_des_evenements(v1).xlsb")
appli.run("analyse")
appli.quit3) Le classeur nommé correctement : calendrier_des_evenements(v1).xlsb
4) Les variables bien définis dans le classeur, comme il y a Option Explicit, sinon ça bloque
Et après tout ça le code se lance
Bonne journée
