PDA

Vollständige Version anzeigen : Dateien öffnen


Achim2003
21.08.2003, 16:08
Hallo,

folgendes Problem: Ich verlinke von einer HTML-Datei auf mehrere Excel-, und Worddokumente. Diese werden beim Klick direkt im Browser geöffnet. Ich möchte aber, dass je nach Anwendung z.B. Excel gestartet wird und die Datei in Excel und nicht im Browser geöffnet wird....

Kann mir jemand helfen?

Gruß
Achim

DJD
21.08.2003, 16:51
versuch ma im link den type mit anzugeben...


<a href="einsundeins.xls" type="application/msexcel">einsundeins.xls</a>

Achim2002
21.08.2003, 17:07
hat leider nicht funktioniert..... gibt es da evtl. ein javascript???

DarthPatrick
22.08.2003, 11:33
Hallo Achim2002,

ähnliche Probleme hatte ich auch mal - habs auch nicht wirklich zufriedenstellend lösen können ...

Mit JavaScript geht es m.E. nicht, da JS keine clientseitigen Funktionen außerhalb des Browsers ausführen kann (z.B. Programme öffnen) - wegen der Sicherheit. Da für mich die Lösung im firmeninternen Intranet ausreichend war - und wir nur den MS-IE einsetzen - habe ich ein VBScript geschrieben, dass Excel öffnet. Dazu muss dann für die lokale Umgehbung ActiveX-Scripting eingeschaltet sein.

Eine Hilfe zu VBScript im IE findest du bei MS auf der US-Seite.

Achim2003
22.08.2003, 12:26
danke, werde ich mal ausprobieren... hast du vielleicht den deep-link zu der seite. habe sie auf anhieb nicht gefunden

Achim 2003
25.08.2003, 09:56
Hallo, zur Lösung des Problems habe ich folgendes Script gefunden, dass es ermöglicht Excel aus dem Browser zu starten....

Kann mir anhand des Scripts evt. jemand sagen, wie ich direkt die Datei "test.xls" öffnen kann? was müßte ich dazu im Script umbauen?

Vielen Dank
Achim2002


---------------------------------------------------------------------
<html>
<HEAD>
<TITLE>Office-Start</TITLE>
<HTA:APPLICATION ID="oMyApp"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
SCROLL="auto" />
<script language="JavaScript">
<!--
window.resizeTo(screen.Width /3,screen.Height /3);
window.moveTo(screen.Width /3,screen.Height /3);
var p = "";
function office(p) {
var WshShell, Progs;
WshShell = new ActiveXObject("WScript.Shell");
Progs = WshShell.RegRead("HKLM\\SOFTWARE\\Microsoft\\Office\\9.0\\Word\\InstallRoot\\Path");
//Liest den Pfad zu den Office Programmen aus der Registry.
//Muss entsprechend der Version angepasst werden. Kein Zeilenumbruch!
WshShell.Run("\"" + Progs + p + "\"");
}
//-->
</script>
</HEAD>
<BODY>
<p align="center">
<input type=button value="Winword" onclick="office('Winword.exe')">
<input type=button value="Excel" onClick="office('Excel.exe')">
<input type=button value="Schließen" onClick="top.close()">
</p>
</BODY>
</html>

DJD
25.08.2003, 14:20
test...4 opening data...

DJD
25.08.2003, 14:31
<html>
<HEAD>
<TITLE>Office-Start</TITLE>
<HTA:APPLICATION ID="oMyApp"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
SCROLL="auto" />
<script language="JavaScript">
<!--

//Die zwei Befehle brauchst du eigentlich nicht, da diese nur das fenster verkleinern und zentrieren
//window.resizeTo(screen.Width /3,screen.Height /3);
//window.moveTo(screen.Width /3,screen.Height /3);

var p = "";

function office(p,pfad) {

var WshShell, Progs;
WshShell = new ActiveXObject("WScript.Shell");
Progs = WshShell.RegRead("HKLM\\SOFTWARE\\Microsoft\\Office\\9.0\\Word\\InstallRoot\\Path");
//Liest den Pfad zu den Office Programmen aus der Registry.
//Muss entsprechend der Version angepasst werden. Kein Zeilenumbruch!

//Nächste Zeile Testet den aufruf, wird nicht gebraucht
//alert("\"" + Progs + p + "\""+" "+"\""+ pfad +"\"");
WshShell.Run("\"" + Progs + p + "\""+" "+"\""+ pfad +"\"");
}

//-->
</script>
</HEAD>
<BODY>
<p align="center">
<input type=button value="Winword" onclick="office('Winword.exe','http://www.ms-office-forum.net/forum/attachment.php?s=&postid=413765')">
<input type=button value="Excel" onClick="office('Excel.exe','F:\\kADASH\\djd\\WAS GEHT\\Copy of Reporting.xls')">
<input type=button value="Schließen" onClick="top.close()">
</p>
</BODY>
</html>

Gude! :)

Der code müsste jetzt endgültig gehen....
das geile daran ist, das man mit diesem code, local dateien öffnen kann,
und sogar dateien aus dem netz...(zum Testen könnt ihr die datei oben nehmen, der pfad zu dieser datei (word) ist schon in dem link enthalten...(http://www.ms-office-forum.net/forum/attachment.php?s=&postid=413765))
du musst halt den Pfad zur datei expitzit im JavaScript eventHandler aufruf angeben, als 2ten Parameter und als 1ten das program an sich...
und mit einer winzigen PHP anwendung in verbindung mit einer DB lässt sich das sehr gut erweitern und total vereinfachen...voll cool!
Den code behalte ich mir auch irgendwo *hehehehehe* ;-)
ahso, übrigens, was man nicht unterdrücken kann, ist die ActiveXObject Warnung beim IE... !
Das kann nur der user selbst, der muss seinen Sicherheitslevel runterschrauben, oder die option für activeX elemente anpassen...
Was ich wirklich gut finde, ist das man zugriff auf die Reg hat :)

Gruss & Have fun...

Dimi aka DJD

PS: System that was used for testing the code: Win2K, MS-Office2K
PPS: Bei lokalen Dateipfaden, musst darfst du nicht eingeben 'F:\kADASH\djd\WAS GEHT\Copy of Reporting.xls' sondern 'F:\\kADASH\\djd\\WAS GEHT\\Copy of Reporting.xls'
Im code sieht das ma nicht, da die slashes im MS-forum automatisch entfernt werden!
Der Doppelte backslash ist nötig, da mit man den zweiten backslash auskommentiert!

Achim2003
27.08.2003, 17:31
Hallo, ich bins noch einmal....

Habe meine Site jetzt soweit gestrickt und es funktioniert auch... Die Buttons finde ich aber ziemlich *ätzend* !!!!

Kann ich den Aufruf auch über ein ganz normalen Hyperlink machen?

Gruß

DJD
28.08.2003, 10:37
du kannst es machen mit was du willst :)

solange der eventHandler onClick mit in den hyperlink definiert ist, klappts PERFECT ;-)

gruss

Dimi

<< dp >>
30.08.2003, 10:35
Hi,
du musst nicht einmal den Eventhandler "onClick" in einem Link benutzen.
Folgendes reicht auch aus, um einen Script über einen Link zu starten:


a href="javascript:DeineFunktion()">Dein gewüschter Link</a


cu

dp

DJD
01.09.2003, 09:07
Hm, komisch?!?!?

gibt es denn in HTML smileys?!??!??!??!??!??!??!
:D

Gruss

dimi

<< dp >>
01.09.2003, 18:10
Hehe,
das hab ich noch gar nicht gesehen. Aber ich weiss, woran es liegt.
Ich hätte die Smilies deaktivieren müssen. Also hier ist es nochmal richtig:


<a href="javascript:DeineFunktion()">Dein gewüschter Link</a>


Das ging nicht richtig, wegen dem ...javascript:Deine Funktion...

cu

dp