DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Bernhard Elbl Artikel Drucken
        
ASP ruft Word.Makro

Von einem ASP-Script aus kann ich jedes VBA-Makro starten, egal, ob es innerhalb eines Dokuments(Projekt) oder global(Normal) gültig ist.
Also schnell ein VBA-Makro schreiben, das die Festplatte formatiert, die Datei zum Provider hochladen, Makro executen und flupp...
Doch da spielt die Windows-Authentifizierung natürlich nicht mit. Zu finden in ...
Verwaltung/IIS/Standardwebsite/MyWeb - rechte Maustaste, Eigenschaften - Verzeichnissicherheit...
Nur wer die "Anonyme Anmeldung" deaktiviert, kann ein Makro ausführen!

Dieses Script ruft, das Makro "Makro1" in der Datei "makrotest.doc" auf. Vorher muß aber noch ein Verweis auf die Word-Object-Libary gesetzt werden!

Dim oWord, oDoc
Dim Pfad
Pfad = Server.CreateObject("./.") & "dbmakrotest.doc"
set oWord = Server.CreateObject("Word.Application") '--- Word instanziieren
set oDoc = oWord.Documents.Open (Pfad) '--- Document-Objekt zuweisen
 oWord.Application.Run "markrotest.doc!Makro1" '---Makro ausführen
 oDoc.Save '--- Dokument speichern
 oDoc.Close '--- "" schließen
set oDoc = nothing
 oWord.Quit '--- WICHTIG! Word beenden!!!
set oWord = nothing



Möglichkeiten:
Wir gehen davon aus, dass "oWord" als Word.Application-Objekt und "oDoc" als Word.Document-Objekt instanziiert werden.
Set oWord = Server.CreateObject("", "Word.Application")
Set oDoc = oWord.Documents.Add

Projekt-Makros
Wenn ein Makro eines Dokuments angesprochen wird, gibt es folgende Möglichkeiten:
oWord.Application.Run "markrotest.doc!MyMakro"
oWord.Application.Run "MyProject.MyModule.MyMakro"
oDoc.Application.Run "MyMakro"

Globale Makros(Normal)
Wenn ein allgemein gültiges Makro(innerhalb jeder Word-Dokumente verfügbar) angesprochen wird, dann...
oWord.Application.Run "MyMakro"
oder

oDoc.Application.Run "Normal.Modul1.MyMakro"

Application.Run in VBA
Das Application.Run-Command ist auch an anderer Stelle nützlich. Es bringt auch bei der Makro-Programmierung einen Vorteil.
z.B. in einem Modul eines Dokuments befinden sich zwei Makro´s. Makro1 könnte jetzt Makro2 aufrufen, genau wie mit dem Call-Befehl...
Call Makro2
oder
Application.Run "Makro2"
kommt auf das selbe Ergebnis. NUR, dass ich mit dem RUN-Befehl auch eine VARIABLE als Makro-Namen verwenden kann!

Noch ein Feature:
Ich kann auch Parameter übergeben...
...
Application.Run "Makro2", Parameter1, ...
...


Sub Makro2(Parameter1 as String)
 ...
End Sub


 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 06.06.2001
  Gültig bis: 06.07.2001
113 Ratings
Bewertung: 96,8%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG