Supportnet / Forum / Datenbanken
Makroausführung ohne Dokumentanzeige
Frage
Hallo Code-freaks,
Ich will ein WORD-Dokument per Code öffnen (von Access aus). In dem Dokument/den Dokumenten ist ein Makro im Hintergrund programmiert, der das Zusammenführen der Datensätze mit dem Seriendokument erledigen soll.
Drück ich den entsprechenden button, öffnet access dreimal dieselbe Datenbank zeigt mir das Dokument aber nicht an,was unbedingt notwendig ist, da es vorm Zusammenführen `mit den Datensätzen noch verändert werden muss
Der Wordmakro wird wohl im Hintergrund abgearbeitet, da ich die DB mit Kennwort versehen habe und bei Klick auf Abbrechen er mir das im Hintergrund abzuarbeitende Makro anzeigt mit fehlermeldung an entsprechender Stelle.
Jetzt meine Frage : Wer kann mir sagen , warum ich das Dokument nicht angezeigt bekomme,obwohl ich das Dokument (im Code) mit WordObj.Documents.Open("Pfad") öffne?
Wie immer auch nun vilen Dank im Voraus für alle Hilfeversuche.
mfG sevener
Antwort 1 von .struppi
hallo sevner,
In Word muß zunächst eine Vorlage angerfertigt werden.
Diese Vorlage öffnest Du als Vorlage und verknüpfst per Hand zur DB zum Zwecke des Seriendruckes. Jetzt kannst Du Deine Seriendruckfelder auf der Vorlage verteilen.
Danach speicherst Du das ganze als Vorlage ab.
Wenn Du jetzt die Vorlage öffnest (egal von wo [wird standardmäßig als Document geöffnet]) verknüft die Vorlage immer von selbst zur DB und öffnet ein beschreibbares Document. Natürlich läßt sich diese Vorlage auch aus der DB selbst öffnen mit der sie verknüpft ist. Dabei öffnet das Document aber eine weitere Instanz der DB. Die ist also jetzt zwei mal offen.
gruß struppi
In Word muß zunächst eine Vorlage angerfertigt werden.
Diese Vorlage öffnest Du als Vorlage und verknüpfst per Hand zur DB zum Zwecke des Seriendruckes. Jetzt kannst Du Deine Seriendruckfelder auf der Vorlage verteilen.
Danach speicherst Du das ganze als Vorlage ab.
Wenn Du jetzt die Vorlage öffnest (egal von wo [wird standardmäßig als Document geöffnet]) verknüft die Vorlage immer von selbst zur DB und öffnet ein beschreibbares Document. Natürlich läßt sich diese Vorlage auch aus der DB selbst öffnen mit der sie verknüpft ist. Dabei öffnet das Document aber eine weitere Instanz der DB. Die ist also jetzt zwei mal offen.
gruß struppi
Antwort 2 von Teddy7
Hi sevener !
Mit Word hab ich´s noch nicht probiert, aber bei Excel sieht das so aus:
' Um auf Excel zugreifen zu können wird eine Objekt-Variable benötigt
Dim objExcel As Excel.Application
' neue Excel-Instanz anlegen
Set objExcel = New Excel.Application
' um mitverfolgen zu können, was in Excel passiert, kann Excel eingeblendet werden
objExcel.Visible = True
' Öffnen der Excel-Datei
objExcel.Workbooks.Open (ttab2!Dateiname)
usw.
Vielleicht hilft Dir das artfremde Beispiel auch ein bißchen.
Gruß
Teddy
Mit Word hab ich´s noch nicht probiert, aber bei Excel sieht das so aus:
' Um auf Excel zugreifen zu können wird eine Objekt-Variable benötigt
Dim objExcel As Excel.Application
' neue Excel-Instanz anlegen
Set objExcel = New Excel.Application
' um mitverfolgen zu können, was in Excel passiert, kann Excel eingeblendet werden
objExcel.Visible = True
' Öffnen der Excel-Datei
objExcel.Workbooks.Open (ttab2!Dateiname)
usw.
Vielleicht hilft Dir das artfremde Beispiel auch ein bißchen.
Gruß
Teddy
Antwort 3 von Marie
Ja Teddy, das geht in Word genauso.
Gruß Marie
Gruß Marie
Antwort 4 von sevener
Hallo Teddy, Hallo Marie ,Hallo struppi
Ich hab mein Problem mit der Zeile WordObj.visible = true gelöst.
Hatte den Ausdruck vorher schon verwendet , doch in falscher Syntax.
Willenlos , das Ganze funktioniert ohne Probleme .
Habe allerdings ein andres Problem .
Wie kann ich (natürlich per Code) erreichen,dass die Taskleiste nicht zu sehen ist ( Das Ganze soll eine Netzwerkanwendung werden und zur Zeit werden meine Einstellungen , die ich unter Start und in den Formularen [Buttonfarbe usw.]vornehme, durch die Benutzerdefinierten Einstellungen der Anwender "überschrieben") . Wenn ich mit TaskBar.visible = false arbeite, passiert nichts. Ahc und wenn jemand eine Iddee hat , in welchem Modul müsste die entsprechende Zeile stehen , dass sie wirksam ist bei Öffnen der Datenbank ?
Wie immer dankt Euch , die Ihr versucht mir zu helfen , Euer sevener
Mit freundlichen Grüssen
Sevener
Ich hab mein Problem mit der Zeile WordObj.visible = true gelöst.
Hatte den Ausdruck vorher schon verwendet , doch in falscher Syntax.
Willenlos , das Ganze funktioniert ohne Probleme .
Habe allerdings ein andres Problem .
Wie kann ich (natürlich per Code) erreichen,dass die Taskleiste nicht zu sehen ist ( Das Ganze soll eine Netzwerkanwendung werden und zur Zeit werden meine Einstellungen , die ich unter Start und in den Formularen [Buttonfarbe usw.]vornehme, durch die Benutzerdefinierten Einstellungen der Anwender "überschrieben") . Wenn ich mit TaskBar.visible = false arbeite, passiert nichts. Ahc und wenn jemand eine Iddee hat , in welchem Modul müsste die entsprechende Zeile stehen , dass sie wirksam ist bei Öffnen der Datenbank ?
Wie immer dankt Euch , die Ihr versucht mir zu helfen , Euer sevener
Mit freundlichen Grüssen
Sevener

