locked
Problème sur syntaxe vbscript RRS feed

  • 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

    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
    
    -----------------------------------------------------------------------------------------------------------------------

    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" ")

    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 26

    Set 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" ")

    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
    
    -----------------------------------------------------------------------------------------------------------------------

    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