[Excel] Créer LienHypertexte vers exécutable [Fermé]

Signaler
Messages postés
13
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
4 février 2008
-
 Lucky -
Bonjour,

Je n'arrive pas à créer un lien hypertext qui appel un exécutable (putty.exe) mais en lui passant des arguments.

L'exemple ci-dessous fonctionne et ouvre le programme Putty :
=LIEN_HYPERTEXTE("E:\DownloadFirefox\putty.exe'";"host1")

Mais je n'arrive pas à lancer Putty avec un passage d'arguments comme ci-dessous :
=LIEN_HYPERTEXTE("E:\DownloadFirefox\putty.exe -ssh -P 22 admin@127.0.0.1 -pw pass";"host1")

Pouvez vous m'aider à constituer cette chaine ?
Je ne suis pas du tout familier avec les caractères spéciaux \ / ' ' " " [ ] ( )

Merci d'avance.

BZH

5 réponses

function creerRaccourci( putty, nomFichierLien, cible )
{
    var oShellLink = WshShell.CreateShortcut( nomFichierLien );
    
    oShellLink.TargetPath = putty;
    oShellLink.Arguments = "-load " + cible;
    oShellLink.WindowStyle = 3;
    oShellLink.IconLocation = putty + ", 0";
    oShellLink.Save();
}

var fso = new ActiveXObject("Scripting.FileSystemObject");
fic = fso.GetFile( WScript.ScriptFullName );

// Suppression des raccourcis actuels
dest = fic.ParentFolder.Path + "\\X";

if( ! fso.FolderExists( dest ) )
{
    fso.CreateFolder( dest );
}
f = fso.GetFolder( dest );

fc = new Enumerator( f.files );
for (; !fc.atEnd(); fc.moveNext())
{
    x = fso.GetFile( fc.item() );
    if( x.Path != WScript.ScriptFullName && x.Type == 'Raccourci'  )
    {
        fso.DeleteFile( fc.item() );
    }
}

// Lecture des sessions putty
HKCU = 0x80000001;
sRegPath = "Software\\SimonTatham\\PuTTY\\Sessions";

oLoc = new ActiveXObject("WbemScripting.SWbemLocator");
oSvc = oLoc.ConnectServer(null, "root\\default");
oReg = oSvc.Get("StdRegProv");
oMethod = oReg.Methods_.Item("EnumKey");
oInParam = oMethod.InParameters.SpawnInstance_();
oInParam.hDefKey = HKCU;
oInParam.sSubKeyName = sRegPath;
oOutParam = oReg.ExecMethod_(oMethod.Name, oInParam);

aNames = oOutParam.sNames.toArray();
//-------------------------------------------------------------

var WshShell = WScript.CreateObject("WScript.Shell");

s = "";
n = 0;

// Création des raccourcis
for (i = 0; i < aNames.length; i++)
{
    aParts = aNames[i].split( "@" );
    creerRaccourci( fic.ParentFolder.Path + "\\putty.exe", dest + "\\" + aParts[1] + " - " + aParts[0] + ".lnk", aNames[i] );
    s = s + aParts[1] + " - " + aParts[0] + "\n";
    n++;
}
WScript.Echo( s + "\n" + n + " Raccourcis créés dans : " + dest );


Installation / Utilisation

Créer un fichier C:\PuTTY\CreatePuttyShortCuts.jse.jse contenant le code çi-dessus.

Le chemin C:\PuTTY, n'est pas obligatoire, le script travail à partir de là où il se trouve.

Le script va lire la base de registre et créer un raccourci pour chaque connexion trouvée.

Les raccourcis sont créés dans un répertoire X, lui même situé au même emplacement que le script.

Si putty.exe est présent dans le même répertoire que le script .jse, les raccourcis auront l'icone de putty.

Si y'en a qui se pose, la question, c'est OUI, je me suis bien pris là tête !
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

C'est très fort. Merci BEAUCOUP
Messages postés
24141
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2021
6 845
Bonjour,

Tu peux peut-être contourner le problème en te créant un raccourci vers putty.exe et en ajoutant les parametres dans les propriétés de ce raccourci.
Ou bien en te créant un fichier batch (simple fichier texte avec E:\DownloadFirefox\putty.exe -ssh -P 22 admin@127.0.0.1 -pw pass dont le suffixe est .bat) qui lance putty.
Et faire pointer ton lien sur le raccourci ou le batch.
eric
Messages postés
13
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
4 février 2008

Merci pour ta réponse Eric,

Mais j'ai doit avoir environ 200 équipements à gérer quotidiennement et je cherche la simplicité pour m'y connecter.

Soit en arrivant à faire ce raccourci, soit en générant via macro le fichier configuration (.reg) de Putty (j'ai aussi posté un message pour ça mis sans succès)

Eric
Messages postés
24141
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2021
6 845
Bonjour,

Le mieux alors est sans doute que tu te crées un fichier batch que tu modifies (ou supprime et récrée) parce que je ne suis pas sûr que passer des paramètres à un exécutable lancé via un lien soit possible.
Sur developpez.com tu trouveras toutes les façons de travailler sur un fichier texte.
ex: https://warin.developpez.com/access/fichiers/ qui est complet avec des exemples

eric
Messages postés
13
Date d'inscription
lundi 12 mars 2007
Statut
Membre
Dernière intervention
4 février 2008

Merci, je vais donc surement m'orienter vers la génération du fichier de conf de puty à moins que quelqu'un ai une idée.

Je laisse donc le post encore ouvert qq jours...