Supportnet / Forum / Skripte(PHP,ASP,Perl...)
VBScript vs. JavaScript
Frage
Hallo Leute,
mit VBScript kann man sehr einfach auf Wordbefehle zugreifen. z.B. kann man ja mit Hilfe von VBScript in Worddateien auf Textmarken zugreifen.
Kann man das auch mit JavaScript. Also, kann man mit JavaScript auch auf Office-Produkte zugreifen.
Für Eure Antworten bedanke ich mich jetzt schonmal!
Gruß
Antwort 1 von rfb
nein, JavaScript hat allein Zugriff auf die Elemente einer Seite, die im Browser geladen ist (diese Seite könnte natürlich ein Office-Produkt sein ;-)
sowie auf bestimmte Objekte, die ein Browser zur Verfügung stellt.
JavaScript hat keinen Zugriff auf
- andere Programme
- Dateien
sowie auf bestimmte Objekte, die ein Browser zur Verfügung stellt.
JavaScript hat keinen Zugriff auf
- andere Programme
- Dateien
Antwort 2 von joe778
Hallo rfb,
ich danke Dir. Das ist eeeecht schade.
Ich habe mit VB auf Worddateien schreiben können. Dasselbe wollte ich mit JavaScript machen.
Echt schade.
Ich danke Dir für deine Antwort.
Viel Spaß noch.
Gruß
ich danke Dir. Das ist eeeecht schade.
Ich habe mit VB auf Worddateien schreiben können. Dasselbe wollte ich mit JavaScript machen.
Echt schade.
Ich danke Dir für deine Antwort.
Viel Spaß noch.
Gruß
Antwort 3 von rfb
Zitat:
Das ist eeeecht schade.
aber sicherer ist es auch.Das ist eeeecht schade.
Die Vorstellung, ein JavaScript auf irgendeiner Website könnte in meinen Officeanwendungen (oder sonstwo auf meinem Rechner) rumspielen, ist nicht angenehm.
Antwort 4 von joe778
jo,
da hast Du auch recht. Ich stimme Dir zu.
Sorry, war doch ein unüberlegter Gedanke von mir.
Danke Dir.
Gruß
da hast Du auch recht. Ich stimme Dir zu.
Sorry, war doch ein unüberlegter Gedanke von mir.
Danke Dir.
Gruß
Antwort 5 von Q13
mit jscript kannst das gleiche machen wie mit vbs
http://en.wikipedia.org/wiki/JScript
http://en.wikipedia.org/wiki/JScript
Antwort 6 von Proggi
abgesehen davon kann man VBScript auch in Webseiten einbinden, und es kann trotzdem nicht auf die Worddokumente zugreifen.
was du meintest ist VBA (was etwas andere funktionen hat als reines VBS in Webseiten)
VBA = Visual Basic for Applications (also Word/Excel...)
VBS = Visual Basic Script (also für in HTML-Dateien)
Die programmiersprachen sind vom aufbau fast gleich jedoch gibt es bei VBS kein "Application" Object wie bei VBA um auf die übergreifende Anwendung zuzugreifen.
VBA kann (Wenn scripte in Dokumenten erlaubt sind) uneingeschränkt auf alle Dokumente der Festplatte zugreifen auf die auch der Benutzer zugriff hat, das ist von einer Webseite her mit VBS nicht möglich, außer du hast deine Sicherheitseinstellungen auf sehr niedrig stehen. In dem Fall kann auch Javascript alle Dateien auf der Fesptlatte Löschen/Ändern die der benutzer ändern könnte (jedoch nicht auf die art wie du in Word auf textmarken zugreifst).
was du meintest ist VBA (was etwas andere funktionen hat als reines VBS in Webseiten)
VBA = Visual Basic for Applications (also Word/Excel...)
VBS = Visual Basic Script (also für in HTML-Dateien)
Die programmiersprachen sind vom aufbau fast gleich jedoch gibt es bei VBS kein "Application" Object wie bei VBA um auf die übergreifende Anwendung zuzugreifen.
VBA kann (Wenn scripte in Dokumenten erlaubt sind) uneingeschränkt auf alle Dokumente der Festplatte zugreifen auf die auch der Benutzer zugriff hat, das ist von einer Webseite her mit VBS nicht möglich, außer du hast deine Sicherheitseinstellungen auf sehr niedrig stehen. In dem Fall kann auch Javascript alle Dateien auf der Fesptlatte Löschen/Ändern die der benutzer ändern könnte (jedoch nicht auf die art wie du in Word auf textmarken zugreifst).
Antwort 7 von Q13
Zitat:
abgesehen davon kann man VBScript auch in Webseiten einbinden, und es kann trotzdem nicht auf die Worddokumente zugreifen.
abgesehen davon kann man VBScript auch in Webseiten einbinden, und es kann trotzdem nicht auf die Worddokumente zugreifen.
Sicher kann es!
Zitat:
Die programmiersprachen sind vom aufbau fast gleich jedoch gibt es bei VBS kein "Application" Object wie bei VBA um auf die übergreifende Anwendung zuzugreifen.
Die programmiersprachen sind vom aufbau fast gleich jedoch gibt es bei VBS kein "Application" Object wie bei VBA um auf die übergreifende Anwendung zuzugreifen.
Sicher gibt es!
Zitat:
In dem Fall kann auch Javascript alle Dateien auf der Fesptlatte Löschen/Ändern die der benutzer ändern könnte
In dem Fall kann auch Javascript alle Dateien auf der Fesptlatte Löschen/Ändern die der benutzer ändern könnte
Kann es nicht. Du meinst JScript.
Antwort 8 von rfb
vielleicht sollte in diesem Expertenstreit erwähnt werden: die Browser unterstützen nur JavaScript-Einbindung auf Webseiten - außer dem IE.
Wenn also die Webseiten nicht gerade nur in einem Intranet mit definierter Umgebung laufen sollen sind alle in den obigen Antworten erwähnten Scriptsprachen - außer JavaScript - unbrauchbar.
Wenn also die Webseiten nicht gerade nur in einem Intranet mit definierter Umgebung laufen sollen sind alle in den obigen Antworten erwähnten Scriptsprachen - außer JavaScript - unbrauchbar.
Antwort 9 von Q13
Zitat:
Wenn also die Webseiten nicht gerade nur in einem Intranet mit definierter Umgebung laufen sollen sind alle in den obigen Antworten erwähnten Scriptsprachen - außer JavaScript - unbrauchbar.
Wenn also die Webseiten nicht gerade nur in einem Intranet mit definierter Umgebung laufen sollen sind alle in den obigen Antworten erwähnten Scriptsprachen - außer JavaScript - unbrauchbar.
Intranet wäre aber eben auch die einzig sinnvolle Anwendung dafür. Wobei das Wort Webseite aus joe778s Feder bisher noch nicht explizit gefallen ist. Bisher ist das nur eine Annahme, weil er "Javascript" gesagt hat. Könnte genausogut der WSH oder eine HTA sein.
Antwort 10 von joe778
Hallo Leute,
erstmal danke für Eure Diskussionsbeiträge.
Also, vielleicht gibt es ja jemanden, der mir Helfen kann.
Ich wiederhole meine Aufgabe:
Ich muss mit JavaScript auf Word zugreifen und Textmarken belegen.
Mit VBA geht es, hier der Code:
Set oWord = CreateObject ("Word.Application")
Set MyDoc = oWord.Documents.Open"d:\Daten\Kopie_TEST.doc")
If MyDoc.Bookmarks.Exists("Dokumentenbezeichnung") Then
MyDoc.Bookmarks("Dokumentenbezeichnung").Range.Text = dokubez
End If
MyDoc.Save()
MyDoc.Close()
Jetzt möchte ich dasselbe mit JavaScript machen. Nicht über das Internet. Sonder local auf meinem Rechner. Ich habe es nichtmal gebacken bekommen, auf das Worddokument zugreifen. Denn es wird kein ActiveXautomation unterstützt, bekomme ich als Fehler. Nun versuche ich es über OLE, aber da weiß ich nun auch nicht, wie ich das machen soll.
Danke jetzt schonmal für Eure Hilfestellung!
Viele Grüße
erstmal danke für Eure Diskussionsbeiträge.
Also, vielleicht gibt es ja jemanden, der mir Helfen kann.
Ich wiederhole meine Aufgabe:
Ich muss mit JavaScript auf Word zugreifen und Textmarken belegen.
Mit VBA geht es, hier der Code:
Set oWord = CreateObject ("Word.Application")
Set MyDoc = oWord.Documents.Open"d:\Daten\Kopie_TEST.doc")
If MyDoc.Bookmarks.Exists("Dokumentenbezeichnung") Then
MyDoc.Bookmarks("Dokumentenbezeichnung").Range.Text = dokubez
End If
MyDoc.Save()
MyDoc.Close()
Jetzt möchte ich dasselbe mit JavaScript machen. Nicht über das Internet. Sonder local auf meinem Rechner. Ich habe es nichtmal gebacken bekommen, auf das Worddokument zugreifen. Denn es wird kein ActiveXautomation unterstützt, bekomme ich als Fehler. Nun versuche ich es über OLE, aber da weiß ich nun auch nicht, wie ich das machen soll.
Danke jetzt schonmal für Eure Hilfestellung!
Viele Grüße
Antwort 11 von rfb
Zitat:
Ich wiederhole meine Aufgabe:
Ich muss mit JavaScript auf Word zugreifen und Textmarken belegen.
und ich wiederhole die Antwort: geht nicht! Nicht mit JavaScript!Ich wiederhole meine Aufgabe:
Ich muss mit JavaScript auf Word zugreifen und Textmarken belegen.
Höchstens mit einer der o.g. ähnlichen Scriptsprachen.
Antwort 12 von Q13
Zitat:
Nicht über das Internet. Sonder local auf meinem Rechner.
Nicht über das Internet. Sonder local auf meinem Rechner.
Da gibt es drei Möglichkeiten: Innerhalb einer normalen Webseite (da gibt es ein Rechteproblem, solange Du nicht in der Arbeitsplatzzone mit den Sicherheitseinstellungen tief runter gehst [ausserdem musst Du die Arbeitsplatzzone zum Editieren der Sicherheitseinstellungen auch erstmal in der Registry freischalten]) oder mit einer JS-Datei, die vom WSH ausgeführt wird, oder mit einer HTA-Datei.
Ich würde WSH oder HTA empfehlen, da sollte es bei createobject("Word.Application") keine Rechteprobleme geben. Was Du nimmst hängt davon ab, ob Du eine Benutzeroberfläche während des Ablaufs brauchst. Dann wäre die HTA erste Wahl. Eine simple HTA bekommst Du einfach durch Umbenennen von *.htm nach *.hta.
Strenggenommen ist das natürlich nicht Javascript, wie Du immer sagst, sondern JScript, aber das kratzt den IE am allerwenigsten. ;-)
Wenn ich später Zeit habe poste ich vielleicht noch den Code oder wenigstens Codeschnipsel für HTA oder JS.
Antwort 13 von Q13
Zitat:
da sollte es bei createobject("Word.Application") keine Rechteprobleme geben.
da sollte es bei createobject("Word.Application") keine Rechteprobleme geben.
.. aber ein Syntaxproblem. ;-) Bei JS müsste das Gleiche so aussehen:
var word=new ActiveXObject("Word.Application");Antwort 14 von joe778
Hallo,
nun, so wie ich es verstanden habe, gibt es doch einen Unterschied zwischen JavaScript und JScript.
@rfb:
Ich glaube Dir. Ich wusste halt nicht, dass es einen Unterschied zwischen den beiden Sprachen gibt.
Ich muss in "JavaScript" auf Word zugreifen :-)
Und Du hast mir nun geantwortet.
@Q13:
Dein Codeschnippsel:
var word=new ActiveXObject("Word.Application");
hab ich auch, ich bekomme einen Fehler (ActiveXObject ist not defined).
Deshalb bin ich nicht in der Lage, auf Word zu zugreifen.
Ich habe aber bei Google "JCOM" gefunden, womit ich auch Office-Produkte zugreifen kann. Ist aber Java-Basiert. Keine Ahnung, ob ich es in JavaScript auch anwenden kann. Dabei gibt es eine jar und eine .dll datei. Diese müssen irgendwie, irgendwo abgelegt werden.-->Das ist aber ein anderes Thema
Also, hoffentlich verursache ich hier niemandem Stress, und wenn es so ist, dann entschuldige ich mich.
Viele Grüße
joe778
nun, so wie ich es verstanden habe, gibt es doch einen Unterschied zwischen JavaScript und JScript.
@rfb:
Ich glaube Dir. Ich wusste halt nicht, dass es einen Unterschied zwischen den beiden Sprachen gibt.
Ich muss in "JavaScript" auf Word zugreifen :-)
Und Du hast mir nun geantwortet.
@Q13:
Dein Codeschnippsel:
var word=new ActiveXObject("Word.Application");
hab ich auch, ich bekomme einen Fehler (ActiveXObject ist not defined).
Deshalb bin ich nicht in der Lage, auf Word zu zugreifen.
Ich habe aber bei Google "JCOM" gefunden, womit ich auch Office-Produkte zugreifen kann. Ist aber Java-Basiert. Keine Ahnung, ob ich es in JavaScript auch anwenden kann. Dabei gibt es eine jar und eine .dll datei. Diese müssen irgendwie, irgendwo abgelegt werden.-->Das ist aber ein anderes Thema
Also, hoffentlich verursache ich hier niemandem Stress, und wenn es so ist, dann entschuldige ich mich.
Viele Grüße
joe778
Antwort 15 von joe778
ja und noch was,
der Titel dieses Themas ist falsch, er sollte heißen:
VBA vs. JavaScript.
Sprich, ich hatte in VBA (Visual Basic for Application) den Wordzugriff programmiert.
sorry
der Titel dieses Themas ist falsch, er sollte heißen:
VBA vs. JavaScript.
Sprich, ich hatte in VBA (Visual Basic for Application) den Wordzugriff programmiert.
sorry
Antwort 16 von Q13
Grosse babylonische Sprachverwirrung!!!!!!! ;-)
Mittlerweile frage ich mich, warum Du J(ava)Script benutzen willst. Es gibt ja auch noch VBScript, welches Du offensichtlich mit VBA verwechselt hast. VBScript und JScript unterscheiden sich fast nur in der Syntax. Was die Möglichkeiten angeht, auf ActiveX-Objekte zuzugreifen, sind sie identisch. Wenn Du VBA benutzt, wirst Du wohl aufgrund der Syntax mit VBScript besser als mit JScript zurechtkommen.
Komisch. Sag mal genauer was, Du gemacht hast. Wie heisst die Dateiendung? Wie hast Du gestartet? In einer JS-Datei funktioniert diese Codezeile bei mir:
Word habe ich nicht installiert, kann ich also nicht testen. Aber es sollte eigentlich genauso funktionieren.
Die VBS-Version der Codezeile wäre übrigens identisch mit VBA (Dateiendung *.vbs):
Mittlerweile frage ich mich, warum Du J(ava)Script benutzen willst. Es gibt ja auch noch VBScript, welches Du offensichtlich mit VBA verwechselt hast. VBScript und JScript unterscheiden sich fast nur in der Syntax. Was die Möglichkeiten angeht, auf ActiveX-Objekte zuzugreifen, sind sie identisch. Wenn Du VBA benutzt, wirst Du wohl aufgrund der Syntax mit VBScript besser als mit JScript zurechtkommen.
Zitat:
Dein Codeschnippsel:
var word=new ActiveXObject("Word.Application");
hab ich auch, ich bekomme einen Fehler (ActiveXObject ist not defined).
Dein Codeschnippsel:
var word=new ActiveXObject("Word.Application");
hab ich auch, ich bekomme einen Fehler (ActiveXObject ist not defined).
Komisch. Sag mal genauer was, Du gemacht hast. Wie heisst die Dateiendung? Wie hast Du gestartet? In einer JS-Datei funktioniert diese Codezeile bei mir:
var excel=new ActiveXObject("Excel.Application");Word habe ich nicht installiert, kann ich also nicht testen. Aber es sollte eigentlich genauso funktionieren.
Die VBS-Version der Codezeile wäre übrigens identisch mit VBA (Dateiendung *.vbs):
set word=createobject("Word.Application")Antwort 17 von Q13
Zitat:
der Titel dieses Themas ist falsch, er sollte heißen:
VBA vs. JavaScript.
der Titel dieses Themas ist falsch, er sollte heißen:
VBA vs. JavaScript.
Oder besser: "VBS vs. VBScript oder J(ava)Script" ;-)
Antwort 18 von Q13
Korrektur:
Oder besser: "VBA vs. VBScript oder J(ava)Script" ;-)
Oder besser: "VBA vs. VBScript oder J(ava)Script" ;-)
Antwort 19 von joe778
Hallo,
was ich maches ist folgendes:
es gibt das Tool Aris7 (Business Architect). Dort wird die Scriptsprache "javascript" verwendet. Und hiermit muss ich meine Aufgabe (word ...) erledigen.
Ich habe keine andere Alternative. Ich muss leider mit javascript auf die word zugreifen.
Ich danke Euch allen für Eure Beiträge. Finde ich super stark von Euch.
gruß
joe778
was ich maches ist folgendes:
es gibt das Tool Aris7 (Business Architect). Dort wird die Scriptsprache "javascript" verwendet. Und hiermit muss ich meine Aufgabe (word ...) erledigen.
Ich habe keine andere Alternative. Ich muss leider mit javascript auf die word zugreifen.
Ich danke Euch allen für Eure Beiträge. Finde ich super stark von Euch.
gruß
joe778
Antwort 20 von Q13
Zitat:
es gibt das Tool Aris7 (Business Architect). Dort wird die Scriptsprache "javascript" verwendet.
es gibt das Tool Aris7 (Business Architect). Dort wird die Scriptsprache "javascript" verwendet.
Hättest Du auch mal früher erwähnen können. ;-) Jetzt kommts halt drauf an, ob dieses Javascript mit Jscript identisch ist. Könnte mir vorstellen, dass dieses Tool die Sprache nicht selbst interpretiert und ausführt, sondern dafür den WSH (=>JScript) benutzt. Musst Du Dich informieren.
Falls Aris7 auch externe Programme starten kann, könntest Du auch auf diese Art ein WSH-Script starten.

