Meilleur auteur de réponses
Problème sur syntaxe vbscript

Question
-
Bonjour, J'essaye de créer un script me permettant d'avoir des raccourcis sur le bureau des clients pour lancer Autocad. Le script se crée mais je n'arrive pas à passer les arguments pour le lancement du logiciel.
Si quelqu'un a une idée sur la syntaxe :
Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\AutoCAD Architecture 2014 (Métrique) - Français.lnk")
'J'essaye de créer une varaible qui contient l'ensemble des paramètres mais j'ai une erreur de syntaxe, le problème vient des double cotes et des / qui sont contenues dans les paramètres
Set Architecture_2014_cible = "C:\Program Files\Autodesk\AutoCAD 2014\acad.exe" /ld "C:\Program Files\Autodesk\AutoCAD 2014\AecBase.dbx" /p "AutoCAD Architecture (Métrique)" /product "ACA" /language "fr-FR"
oShortcut.TargetPath = Architecture_2014_clible
oShortcut.Save- Type modifié Dan BajenaruMicrosoft employee jeudi 5 septembre 2013 14:31 a
- Type modifié Dan BajenaruMicrosoft employee jeudi 5 septembre 2013 14:31 erreur
- Type modifié Dan BajenaruMicrosoft employee jeudi 5 septembre 2013 14:32 attente de feedback
- Type modifié Dan BajenaruMicrosoft employee jeudi 5 septembre 2013 14:33 broken thread
lundi 2 septembre 2013 14:30
Réponses
-
Le problème vient de l'utilisation de "createShortchut" : la TargetPath ne peut pas contenir d'argument. Essayer commme ceci :
--------------------------------------------------------------------------------------------------------------------- Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\AutoCAD 2014 - Français.lnk") oShortcut.TargetPath = "C:\Program Files\Autodesk\AutoCAD 2014\acad.exe" oShritcut.arguments = "/product ACAD /language ""fr-FR""" oShortcut.Save --------------------------------------------------------------------------------------------------------------------- Je fais la même chose pour Firefox et le raccourci se crée bien avec la cible de contenu -------------------------------------------------------------------------------------------------------------------- Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\Firefox.lnk") oShortcut.TargetPath = ("C:\Program Files (x86)\Mozilla Firefox\firefox.exe") oShortcut.Save -----------------------------------------------------------------------------------------------------------------------
- Marqué comme réponse Dan BajenaruMicrosoft employee mercredi 11 septembre 2013 05:56
lundi 9 septembre 2013 13:36 -
Bonjour,
Désolé de répondre si tard, j'ai eu pas mal de travail :) "sDesktopFolder" est mal défini : il faut tenir compte d'un chemin avec des espaces donc ajouter des """ au début et finir par " (pas de double quote) et enfin mettre "" à la fin de & "\AutoCAD 2014 - Français.lnk".
Soit :
sDesktopFolder = """c:\program files\toto\titi"
Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\AutoCAD 2014 - Français.lnk""")
Ce qui vous donne en résultat :
Set oShortcut = oShell.CreateShortcut(" "c:\program files\toto\titi\AutoCAD 2014 - Français.lnk" ")
- Proposé comme réponse LoicVeirman lundi 9 septembre 2013 08:22
- Marqué comme réponse Dan BajenaruMicrosoft employee mercredi 11 septembre 2013 05:57
lundi 9 septembre 2013 08:21
Toutes les réponses
-
L'erreur classique avec les variables et les chemins ayant des espaces : les guillemets que l'on oublie en cours de frappe. Essayez ceci :
Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\AutoCAD Architecture 2014 (Métrique) - Français.lnk") 'J'essaye de créer une variable qui contient l'ensemble des paramètres mais j'ai une erreur de syntaxe, le problème vient des double cotes et des / qui sont contenues dans les paramètres Set Architecture_2014_cible = """C:\Program Files\Autodesk\AutoCAD 2014\acad.exe"" /ld ""C:\Program Files\Autodesk\AutoCAD 2014\AecBase.dbx"" /p ""AutoCAD Architecture (Métrique)"" /product ""ACA"" /language ""fr-FR""" oShortcut.TargetPath = Architecture_2014_clible oShortcut.Save
Pour ajouter des guillemets dans une variable, il faut le doubler.
- Proposé comme réponse LoicVeirman mardi 3 septembre 2013 05:25
- Modifié LoicVeirman mardi 3 septembre 2013 05:25
- Proposé comme réponse LoicVeirman lundi 9 septembre 2013 08:22
mardi 3 septembre 2013 05:25 -
Bonjour et merci pour votre réponse.
J'ai testé mais j'ai tout de même l'erreur ci-dessous ???-------------------------------------------------------------------------------------------------------------
Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\AutoCAD 2014 - Français.lnk")
'ligne 26Set Autocad_2014_cible = """C:\Program Files\Autodesk\AutoCAD 2014\acad.exe"" /product ACAD /language ""fr-FR"""
oShortcut.TargetPath = Autocad_2014_cible
oShortcut.Save----------------------------------------------------------------------------------------------------------------
Ligne 26 caract 1
objet requis: '[string: ""C:\program files\Au"]'
code: 800A01A8
Erreur d'exécution Microsoft VBScript
mercredi 4 septembre 2013 12:15 -
Bonjour,
Désolé de répondre si tard, j'ai eu pas mal de travail :) "sDesktopFolder" est mal défini : il faut tenir compte d'un chemin avec des espaces donc ajouter des """ au début et finir par " (pas de double quote) et enfin mettre "" à la fin de & "\AutoCAD 2014 - Français.lnk".
Soit :
sDesktopFolder = """c:\program files\toto\titi"
Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\AutoCAD 2014 - Français.lnk""")
Ce qui vous donne en résultat :
Set oShortcut = oShell.CreateShortcut(" "c:\program files\toto\titi\AutoCAD 2014 - Français.lnk" ")
- Proposé comme réponse LoicVeirman lundi 9 septembre 2013 08:22
- Marqué comme réponse Dan BajenaruMicrosoft employee mercredi 11 septembre 2013 05:57
lundi 9 septembre 2013 08:21 -
Bonjour et merci pour vos réponses et de m'aiguiller sur cette syntaxe,
Le raccourci se crée bien mais je n'arrive pas à renseigner la cible, j'ai une ereur sur le caractéère 1 de la ligne "oShortcut.TargetPath = ", j'ai l'erreur argument ou appel de précédure incorecte :
---------------------------------------------------------------------------------------------------------------------
Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\AutoCAD 2014 - Français.lnk")
oShortcut.TargetPath = ("""C:\Program Files\Autodesk\AutoCAD 2014\acad.exe"" /product ACAD /language ""fr-FR""")
oShortcut.Save---------------------------------------------------------------------------------------------------------------------
Je fais la même chose pour Firefox et le raccourci se crée bien avec la cible de contenu
--------------------------------------------------------------------------------------------------------------------
Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\Firefox.lnk")
oShortcut.TargetPath = ("C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
oShortcut.Save-----------------------------------------------------------------------------------------------------------------------
Encore un problème de syntaxe je suppose mais j'ai essayé plusieurs écritures en fonctions de vos informations mais la cible ne s'inscrit toujours pas dans le raccourci Autocad ???
En vous remerciant, cordialement R. Brenelière
lundi 9 septembre 2013 13:04 -
Le problème vient de l'utilisation de "createShortchut" : la TargetPath ne peut pas contenir d'argument. Essayer commme ceci :
--------------------------------------------------------------------------------------------------------------------- Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\AutoCAD 2014 - Français.lnk") oShortcut.TargetPath = "C:\Program Files\Autodesk\AutoCAD 2014\acad.exe" oShritcut.arguments = "/product ACAD /language ""fr-FR""" oShortcut.Save --------------------------------------------------------------------------------------------------------------------- Je fais la même chose pour Firefox et le raccourci se crée bien avec la cible de contenu -------------------------------------------------------------------------------------------------------------------- Set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\Firefox.lnk") oShortcut.TargetPath = ("C:\Program Files (x86)\Mozilla Firefox\firefox.exe") oShortcut.Save -----------------------------------------------------------------------------------------------------------------------
- Marqué comme réponse Dan BajenaruMicrosoft employee mercredi 11 septembre 2013 05:56
lundi 9 septembre 2013 13:36 -
Bonjour et un grand merci pour vos précieuses informations, le script fonctionne à merveille.
Encore merci à vous, cordialement Roland Brenelière
mardi 10 septembre 2013 09:42 -
Bonjour à tous,
Nous apprécions votre retour et merci aussi pour marquer les réponses qui vous ont aidé.
Cordialement,
DanDan BAJENARU, MSFT Votez! Appel à la contribution
TechNet Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.mardi 10 septembre 2013 10:25