Ouverture de pièce jointe dans application (word excel ...)

Toutes les astuces sur le langage JavaScript dans Lotus Notes

Ouverture de pièce jointe dans application (word excel ...)

Messagepar vangelis » 10 Sep 2007 à 07:23

Bonjour,

Pour que le code ci dessous fonctionne il faut être sous IE et avoir "Contrôle d'initialisation et de script non reconnu" coché à Activé.

Il vous suffit alors d'intégrer cette fonction :

[syntax="javascript"]
function execAppli(param){
var app;
var extension = param.substring(param.lastIndexOf("."));

switch (extension) {
case ".doc":
app = "winword";
break;
case ".xls":
app = "excel";
break;
case ".ppt":
app = "POWERPNT";
break;
case ".pdf":
app = "AcroRd32";
break;
}

var wshShell = new ActiveXObject("WScript.Shell");
wshShell.Run(app + ".exe " + param, 1, true);
}[/syntax]

Puis sur le lien de votre piece jointe d'appeller cette fonction :


[syntax="Formula"]NomFichier := @ReplaceSubstring(@AttachmentNames;" ";"%20");

@If(!@Attachments; @Return("Il n'y a aucun fichier attaché a ce document."); "");
@Implode("<img src=\"/icons/vwicn005.gif\"><a href=\"#\" onclick=execAppli(" + "\"http://votre-serveur-web.fr//Bureautique//form_sonia.nsf//"+@Text(@DocumentUniqueID) +"//$file//"+ NomFichier +"\")>"+@AttachmentNames + "</a><br>" ;@NewLine)
[/syntax]

Le @ReplaceSubstring(@AttachmentNames;" ";"%20"); -> Me permet de remplacer les espaces dans le nom de mes fichiers sinon il s'arreté au premier mot.

Voila j'espère que ca vous servira =)
vangelis
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 107
Inscrit(e) le : 21 Nov 2006 à 11:47

Messagepar Michael DELIQUE » 10 Sep 2007 à 15:11

une version plus complete du @replaceSubstring pour renommer les noms de fichier

Code : Tout sélectionner
NomFichier:=@If(@AttachmentNames=""; "";@ReplaceSubstring(@AttachmentNames;
"   ":" ":"\"":"#":"&":"(":")":",":"/":":":";":"<":"=":">":"?":"@":"[":"\\":"]":"^":"'":"{":"|":"}":"~" : "à":"â":"ä":"ç":"é":"è":"ê":"ë":"î":"ï":"ô":"ö":"ù":"û":"ü":"+":"°"  ;
"%09":"%20":"%22":"%23":"%26":"%28":"%29":"%2C":"%2F":"%3A":"%3B":"%3C":"%3D":"%3E":"%3F":"%40":"%5B":"%5C":"%5D":"%5E":"%27":"%7B":"%7C":"%7D":"%7E":
"%E0":"%E2":"%E4":"%E7":"%E9":"%E8":"%EA":"%EB":"%EE":"%EF":"%F4":"%F6":"%F9":"%FB":"%FC":"%2B":"%B0"));
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar YoGi » 11 Sep 2007 à 15:58

Michael DELIQUE a écrit:une version plus complete du @replaceSubstring pour renommer les noms de fichier

Code : Tout sélectionner
NomFichier:=@If(@AttachmentNames=""; "";@ReplaceSubstring(@AttachmentNames;
"   ":" ":""":"#":"&":"(":")":",":"/":":":";":"<":"=":">":"?":"@":"[":"\":"]":"^":"'":"{":"|":"}":"~" : "à":"â":"ä":"ç":"é":"è":"ê":"ë":"î":"ï":"ô":"ö":"ù":"û":"ü":"+":"°"  ;
"%09":"%20":"%22":"%23":"%26":"%28":"%29":"%2C":"%2F":"%3A":"%3B":"%3C":"%3D":"%3E":"%3F":"%40":"%5B":"%5C":"%5D":"%5E":"%27":"%7B":"%7C":"%7D":"%7E":
"%E0":"%E2":"%E4":"%E7":"%E9":"%E8":"%EA":"%EB":"%EE":"%EF":"%F4":"%F6":"%F9":"%FB":"%FC":"%2B":"%B0"));


et @URLEncode, non ?
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar Michael DELIQUE » 11 Sep 2007 à 18:45

exact, mais j'avais la fonction dans un coin !
Dernière édition par Michael DELIQUE le 22 Oct 2007 à 07:36, édité 1 fois.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Michael DELIQUE » 19 Sep 2007 à 15:53

re,

une autre solution en modifiant la base de registre de l'utilisateur. Validé avec Office 2002

il suffit de créer un .reg avec ceci :

Code : Tout sélectionner
REGEDIT4

// Registry file generated by the Application Launcher.

[HKEY_LOCAL_MACHINE\SOFTWARE]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.8]
"BrowserFlags"=dword:00000008

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.Show.8]
"BrowserFlags"=dword:00000008

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.8]
"BrowserFlags"=dword:00000008
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy


Retour vers JavaScript