[Excel] Créer LienHypertexte vers exécutable

Fermé
breizh35000 Messages postés 13 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 4 février 2008 - 2 févr. 2008 à 11:10
 Lucky - 8 oct. 2009 à 15:39
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
A voir également:

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
C'est très fort. Merci BEAUCOUP
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
2 févr. 2008 à 11:47
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
1
breizh35000 Messages postés 13 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 4 février 2008
2 févr. 2008 à 19:45
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
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
3 févr. 2008 à 14:46
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
breizh35000 Messages postés 13 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 4 février 2008
4 févr. 2008 à 21:10
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...
0