hallo,
ich brauche für ein dokumentenmanagement-system eine activeX-funktion die mir eine beliebige datei öffnet wenn ich auf einen link klicke.
eigentlich habe ich die funktion auch schon, doch das problem ist: wenn ich eine word-datei öffne funktioniert das einwandfrei, bei einer excel-datei jedoch haperts schon. es wird nur der prozess excel.exe gestartet (laut task-manager), die datei wird jedoch nicht geöffnet.
Der Funktion wird der Pfad des zu öffnenden Programms und der Dokumentenpfad übergeben.
der code sieht folgendermaßen aus:
Wenn ich mir den Befehl ausgebe den ich der Funktion Run übergebe, bekomm ich das richtige heraus. Gebe ich genau das in Windows unter Start-Ausführen ein, öffnet die Datei ganz gewöhnlich (so wie es sein soll)!
Sieht in dieser Funktion irgendwer einen Fehler? Wenn ja, welchen?
Bzw. kann man das Problem anders lösen?
Danke
ich brauche für ein dokumentenmanagement-system eine activeX-funktion die mir eine beliebige datei öffnet wenn ich auf einen link klicke.
eigentlich habe ich die funktion auch schon, doch das problem ist: wenn ich eine word-datei öffne funktioniert das einwandfrei, bei einer excel-datei jedoch haperts schon. es wird nur der prozess excel.exe gestartet (laut task-manager), die datei wird jedoch nicht geöffnet.
Der Funktion wird der Pfad des zu öffnenden Programms und der Dokumentenpfad übergeben.
der code sieht folgendermaßen aus:
PHP-Code:
<script language="JavaScript" type="text/javascript">
function open_prog(p, pfad) // p = progexe ,
// pfad = dokumentenpfad
{
var WshShell, Prog;
WshShell = new ActiveXObject("WScript.Shell");
var reg = "";
switch (p){
case "excel.exe":
reg = "HKLM\\SOFTWARE\\Microsoft\\Windows\\
CurrentVersion\\App Paths\\Excel.exe\\Path";
break;
// ... weitere cases
}
//Liest den Pfad zu den Programmen aus der Registry.
Prog = WshShell.RegRead(reg);
WshShell.Run("\"" + Prog + p + "\""+" "+"\""+ pfad +"\"",0,true);
}
Sieht in dieser Funktion irgendwer einen Fehler? Wenn ja, welchen?
Bzw. kann man das Problem anders lösen?
Danke
Kommentar