Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Neues Dokument aktivieren

23 views
Skip to first unread message

Hans-Gerd Ackermann

unread,
Mar 25, 2002, 1:59:53 PM3/25/02
to
Hallo NG,

ich bin ein ziemlicher Neuling und versuche, für unserer Sekretariat und die
Kollegen neue Dokumentvorlagen möglichst komfortabel handhabbar zu machen.

Mein Problem:
Anklicken eines Icons in der Standartsymbolleiste startet ein Makro, das
eine Auswahlbox aufruft, in der man entsprechend wählen kann. Brief farbig,
Brief sw; Fax usw.
Eine Userform erstellt zwar wie gewünscht mit

Private Sub Label1_Click()
Documents.Add Template:= _
"C:\Dokumente und
Einstellungen\Administrator\Anwendungsdaten\Microsoft\Vorlagen\Schule\Brief
sw.dot" _
, NewTemplate:=False, DocumentType:=0
Unload Abfrage1

ein neues Dokument entsprechend der Vorlage und schließt die Userform, doch
ist dieses Dokument nicht aktiv, d.h. auf dem Bildschirm bleibt das alte
Dokument und ich muss das neue anklicken, um damit arbeiten zu können.

Sicher kann jemand helfen.

Freundliche Grüße und vielen Dank schon mal

H.-G.

Christian Ludt

unread,
Mar 26, 2002, 9:14:47 AM3/26/02
to
Hallo Hans,

"Hans-Gerd Ackermann" <H-G.Ac...@gmx.de> schrieb im Newsbeitrag news:a7ns4e$cqh$1...@news.rhein-zeitung.de...


Ich hatte gerade dieselben Schwierigkeiten.
Das Problem liegt darin, dass man gar nicht weiß, welches Window in der
Windows-Auflistung hinzugekommen ist. Zuertsdachte ich, es wär das letzte,
dann war's auf einmal das erste, ...

Na ja, ich hab's so gelöst:

'vor dem Hinzufügen des neuen Dokumentes alle Windows-Objekte in ner
'Collection speichern:
For Each aWindow in Windows
allWindows.Add aWindow, aWindow.Caption 'zweites Argument ist wichtig!
Next aWindow

'Dann das Dokument hinzufügen
'[...]

'Dann wieder alle Windows-Objekte in ner zweiten Collection speichern:
For Each aWindow in Windows
allWindows2.Add aWindow, aWindow.Caption
Next aWindow

'alle Windows-Objekt, die in der ersten Collection drin sind, aus der
'zweiten löschen
For Each aWindow in allWindows
allWindows2.Remove aWindow
Next aWindow

'Dann bleibt in der zweiten Colection nur noch eins übrig
Windows(allWindows2(1)).Activate

Grüße
Christian

Hans-Gerd Ackermann

unread,
Mar 26, 2002, 11:14:02 AM3/26/02
to
Hallo Christian,

zuerst vielen Dank für deine Hilfe.

Leider läuft das bei mir nicht.
Ich erhalte
For Each aWindow In Windows
"allWindows.Add aWindow, aWindow.Caption" hier einen Fehler 424 Objekt
erforderlich
Grüße
H.-G.

"Christian Ludt" <Christi...@mdb-solutions.de> schrieb im Newsbeitrag
news:enA77BN1BHA.1280@tkmsftngp04...

Christian Ludt

unread,
Mar 26, 2002, 12:33:49 PM3/26/02
to
Hallo Hans

"Hans-Gerd Ackermann" <H-G.Ac...@gmx.de> schrieb im Newsbeitrag news:a7q6se$6ea$1...@news.rhein-zeitung.de...


> Hallo Christian,
>
> zuerst vielen Dank für deine Hilfe.
>
> Leider läuft das bei mir nicht.
> Ich erhalte
> For Each aWindow In Windows
> "allWindows.Add aWindow, aWindow.Caption" hier einen Fehler 424 Objekt
> erforderlich


Du hast wahrscheinlich vergessen, die Variablen zu deklarieren.
Oder Du hast das "New" vergessen.

Dim aWindow as window
Dim allWindows as New Collection, allWindows2 as New Collection
^^^ ^^^


Grüße
Christian

Cindy Meister -WordMVP-

unread,
Mar 27, 2002, 4:40:07 AM3/27/02
to
Hi Hans-Gerd,

> ein neues Dokument entsprechend der Vorlage und schließt die Userform, doch
> ist dieses Dokument nicht aktiv, d.h. auf dem Bildschirm bleibt das alte
> Dokument und ich muss das neue anklicken, um damit arbeiten zu können.
>

Probiere, ob das funktioniert:

Private Sub Label1_Click()
Dim doc as Word.Document

Set doc = Documents.Add Template:= _


"C:\Dokumente und
Einstellungen\Administrator\Anwendungsdaten\Microsoft\Vorlagen\Schule\Brief
sw.dot" _
, NewTemplate:=False, DocumentType:=0

doc.Windows(1).activate

Cindy Meister
INTER-Solutions, Switzerland
http://www.mvps.org/word
http://homepage.swissonline.ch/cindymeister
http://go.compuserve.com/MSOfficeForum

Rückfragen & Antworten nur in der Newsgroup, bitte!

Hans-Gerd Ackermann

unread,
Mar 28, 2002, 12:15:34 PM3/28/02
to
Hallo Cindy,

vielen Dank für die Mühe,
leider funktioniert auch das nicht.
Die ganze Set Anweisung wird rot markiert und die Fehlermeldung: Fehler beim
Kompilieren, Syntaxfehler ausgegeben.

Grüße
H.-G.

"Cindy Meister -WordMVP-" <CindyM...@swissonline.ch> schrieb im
Newsbeitrag news:VA.00005828.000f8111@speedy...

Christian Ludt

unread,
Mar 28, 2002, 12:29:54 PM3/28/02
to
Hallo Hans,

"Hans-Gerd Ackermann" <H-G.Ac...@gmx.de> schrieb im Newsbeitrag news:a7vj4s$jhf$1...@news.rhein-zeitung.de...


> Hallo Cindy,
>
> vielen Dank für die Mühe,
> leider funktioniert auch das nicht.
> Die ganze Set Anweisung wird rot markiert und die Fehlermeldung:
> Fehler beim Kompilieren, Syntaxfehler ausgegeben.


Entferne die Zeilenumbrüche, oder probier das:

Private Sub Label1_Click()
Dim doc as Word.Document
Set doc = Documents.Add Template:= _

"C:\Dokumente und Einstellungen\" + _
"Administrator\Anwendungsdaten\" + _


"Microsoft\Vorlagen\Schule\Brief sw.dot" _
, NewTemplate:=False, DocumentType:=0

doc.Windows(1).activate

End Sub


Heiß die Vorlage "Brief sw.dot"? Oder fehlt da ein Unterstrich?

Grüße
Christian

Hans-Gerd Ackermann

unread,
Mar 28, 2002, 5:17:46 PM3/28/02
to
Hallo Christian,

Dank für die Mühe, aber es funktioniert weder mit den + Zeichen noch durch
entfernen der Zeilenumbrüche.
Wenn ich alle Zeilenumbrüche entferne, wird zuerst der Begriff "Template"
rot markiert und die Fehlermeldung erwarte Anweisungsende ausgegeben. Beim
erneuten Versuch erscheint wieder die Meldung "Syntaxfehler".

Gruß
H.-G.

"Christian Ludt" <Christi...@mdb-solutions.de> schrieb im Newsbeitrag

news:eiSkz3n1BHA.2800@tkmsftngp07...

Cindy Meister -WordMVP-

unread,
Mar 29, 2002, 3:58:56 AM3/29/02
to
Hi Hans-Gerd,

> leider funktioniert auch das nicht.
> Die ganze Set Anweisung wird rot markiert und die Fehlermeldung: Fehler beim
> Kompilieren, Syntaxfehler ausgegeben.
>

Ach, ja, habe die Klammer vergessen. Passiert uns alle, wenn wir eine solche
Bearbeitung vornehmen, nur wissen wir meistens sofort, was die Fehlermeldung
bedeutet. Sorry.

Set doc = Documents.Add(Template:= _


"C:\Dokumente und
Einstellungen\Administrator\Anwendungsdaten\Microsoft\Vorlagen\Schule\Brief
sw.dot" _

, NewTemplate:=False, DocumentType:=0)

Hans-Gerd Ackermann

unread,
Mar 29, 2002, 1:50:11 PM3/29/02
to
Hi Cindy,

leider lä#uft es immer noch nicht.
Das neue Dokument wird erstellt und in der Taskleiste auch aktiviert
angezeigt (eingedrückt und hellgrau unterlegt) doch der Cursor bleibt auf
dem ersten Dokument. Um das neue zu sehen muss ich das Dokument in der
Taskleiste anklicken. Im Fensternmenü wird das neue Dokument nicht
angezeigt.

Grüße
H.-G.


"Cindy Meister -WordMVP-" <CindyM...@swissonline.ch> schrieb im

Newsbeitrag news:VA.00005852.00357055@speedy...

Cindy Meister -WordMVP-

unread,
Mar 30, 2002, 5:31:29 AM3/30/02
to
Hi Hans-Gerd,

> leider lä#uft es immer noch nicht.
>

Also, jetzt von Vorne neu anfangen. Ich nehme an, alles was
Du wirklich willst, ist ein neues Dokument zu erstellen,
und dieses aktiviert haben. Bei mir läuft es immer
einwandfrei, wie folgt

Private Sub CommandButton1_Click()
Dim doc As Word.Document

Set doc = Documents.Add(template usw hier)
Unload Me
End Sub

Hans-Gerd Ackermann

unread,
Mar 30, 2002, 8:28:33 AM3/30/02
to
Hallo Cindy,

ein letzter Versuch
du hast schon recht, alles was ich will ist ein neues Dokument entsprechend
einer Vorlage erstellen und aktivieren, d.h. ich möchte dann das neue Dok
auf dem Bildschirm haben.
Mit dem neuen Makro erstelle ich zwar ein neues Dokument, dieses Dok
befindet sich aber nicht auf dem Bildschirm, sondern nur in der Taskleiste.
Ich muss erst das Dok in derTaskleiste anklicken, um damit arbeiten zu
können.

Ein altes WordBasic Makro (siehe unten) tut genau diesen Dienst. Ich wollte
das Ganze nur auf Word2000 umstellen.

Public Sub Main()
Dim retwert
WordBasic.BeginDialog 580, 250, "Vorlagen"
WordBasic.OptionGroup "Optiongroup1"
WordBasic.OptionButton 20, 40, 183, 16, "Brief farbig",
"Optionsfeld1"
WordBasic.OptionButton 20, 80, 124, 16, "Brief sw", "Optionsfeld2"
...
WordBasic.OKButton 40, 200, 100, 21
WordBasic.CancelButton 400, 200, 100, 21
WordBasic.Text 42, 10, 53, 13, "Briefe", "Text1"
...
WordBasic.EndDialog
Dim formular As Object: Set formular = WordBasic.CurValues.UserDialog
retwert = WordBasic.Dialog.UserDialog(formular)
If retwert = 0 Then
GoTo Ende
End If
Select Case formular.OptionGroup1
Case 0
WordBasic.FileNew Template:="C:\Dokumente und
Einstellungen\Administrator\Anwendungsdaten\Microsoft\Vorlagen\Schule\Brief_
f.dot", NewTemplate:=False, DocumentType:=0
Case 1
WordBasic.FileNew Template:="C:\Dokumente und
Einstellungen\Administrator\Anwendungsdaten\Microsoft\Vorlagen\Schule\Brief_
sw.dot", NewTemplate:=False, DocumentType:=0
...
End Select
Ende:
End Sub

Vielen Dank für deine Mühe
freundliche Grüße
H.-G.
P.S. Frohe Ostern


"Cindy Meister -WordMVP-" <CindyM...@swissonline.ch> schrieb im

Newsbeitrag news:VA.00005875.006f64c9@speedy...

Cindy Meister -WordMVP-

unread,
Mar 31, 2002, 3:33:30 AM3/31/02
to
Hi Hans-Gerd,

> Mit dem neuen Makro erstelle ich zwar ein neues Dokument, dieses Dok
> befindet sich aber nicht auf dem Bildschirm, sondern nur in der Taskleiste.
> Ich muss erst das Dok in derTaskleiste anklicken, um damit arbeiten zu
> können.
>

Hier (und auf den meisten Installationen) ist das nicht der Fall. Das neu
geöffnete Dokument steht zu vorderst. (Wie früher, in WordBasic)

Welche Handlungen werden sonst vom Formular ausgeführt? Gibt es sonst etwas
"besonderes" in Deiner Word Umgebung? Wie wird das Formular eingeblendet?

Hans-Gerd Ackermann

unread,
Mar 31, 2002, 2:21:48 PM3/31/02
to
Hallo Cindy,

Office 2000, SR-1 Premium, Winodws 2000 Prof. SP 2, AMD Adlon 700, 256 MB
Speicher,
der Aufruf des Formulars erfolgt über ein Makro

Public Sub Abfrage1_anzeigen()
' Zeigt eine Abfragebox mit den verschiedenen Formatvorlagen für Brief, Fax
usw. an
Abfrage1.Show
End Sub

Das Abfrageformular "UserForm1" enthält ein Textfeld "Bitte wählen" und z.Z.
nur das Feld Brief, das mit dem folgenden Code verbunden ist:
Private Sub Label1_Click( )
Dim doc As Word.Document
Set doc = Documents.Add(Template:="C:\Dokumente und


Einstellungen\Administrator\Anwendungsdaten\Microsoft\Vorlagen\Schule\Brief_

f.dot", NewTemplate:=False, DocumentType:=0)
doc.Windows(1).Activate
Unload Abfrage1
End Sub
Alles andere habe ich erst einmal rausgeschmissen.

Das Abfragemakro ruft wie gewünscht das Abfrage1-Formular auf, dort klicke
ich "Brief" an, der Code wird aufgerufen, das neue Dokument erstellt es
erscheint in der Taskleiste hell unterlegt, auf dem Bildschirm ist aber das
Ursprungsdokumenbt zu sehen. Klicke ich jetzt auf das Dok in der Taskleiste
baut sich das Bildschirmfenster _scheinbar_ von links oben nach rechts unten
ab, es bleibt aber immer noch sichtbar. Das neue Dok in der Taskleiste ist
jetzt dunkel unterlegt. Bei Klick erscheint dann das neue Dok auf dem
Bildschirm.

Die Code-Zeile "doc.Windows(1).Activate" spielt dabei wohl keine Rolle, ich
habe es mit aktiver und auskommentierter Zeile versucht, das Ergebnis war
gleich.

Vielleicht kannst du mit diesen Angaben etwas anfangen. Es eilt nicht so
sehr, bin bis Freitag 05.04. in Urlaub.
Vielen Dank und herzliche Grüße
H.-G.

"Cindy Meister -WordMVP-" <CindyM...@swissonline.ch> schrieb im

Newsbeitrag news:VA.000058a2.004e7983@speedy...

Michael Dahms

unread,
Mar 31, 2002, 7:04:02 PM3/31/02
to
Hallo,

"Hans-Gerd Ackermann" <H-G.Ac...@gmx.de> schrieb im Newsbeitrag
news:a87nm2$8gd$1...@news.rhein-zeitung.de...

> jetzt dunkel unterlegt. Bei Klick erscheint dann das neue Dok auf dem

möglicherweise ist etwas in den Systemeinstellungen verbogen. So gibt es in
Tweak Ul die Einstellung "Prevent applications from steeling focus" mit mehreren
Optionen.
--
MfG Michael
Die Mailadresse ist replyfähig, sie wird am Anfang eines Quartals
nach dem Muster usenet...@dahms-dahms.com erneuert

Thomas Gahler

unread,
Apr 1, 2002, 2:01:10 PM4/1/02
to
Hallo Hans-Gerd

> Office 2000, SR-1 Premium, Winodws 2000 Prof. SP 2, AMD Adlon 700, 256 MB
> Speicher, der Aufruf des Formulars erfolgt über ein Makro

Habe zwar nicht die gleichen Systemvoraussetzungen wie du, muss dir aber
gestehen, dass ich den Fehler mit deinem Code nicht nach voll ziehen kann.


Setze vielleicht noch ein 'Abfrage1.Hide' in deinen Code. Vielleicht nützt
das was.


Private Sub Label1_Click( )
Dim doc As Word.Document

Abfrage1.Hide

Set doc = Documents.Add(Template:="C:\Dokumente und Einstellungen\" _
& "Administrator\Anwendungsdaten\Microsoft\Vorlagen\Schule\" _
& "Brief_f.dot", _
NewTemplate:=False, _
DocumentType:=0)

doc.Windows(1).Activate
Unload Abfrage1
End Sub


> Das Abfragemakro ruft wie gewünscht das Abfrage1-Formular auf, [...]
Wie rufts du dein Abfragemakro auf?


--


----------------------------------------------------
Umgebung: Windows XP, Office XP

Greetings from Switzerland
Thomas Gahler


Thomas Huber

unread,
Apr 8, 2002, 10:49:54 AM4/8/02
to
Hallo Cindy

Schön wäre es! Bei mir tritt dasselbe Problem auf. immer das vorletzte
Dokument ist aktiv.
Bei der Abfrage mit 'msgbox Application.ActiveDocument.Name' wird das
richtige Dokument
ausgegeben. Nur mit dem Acitvate-Befehl klappt's dann doch nicht.

Irgendwo muss da doch wohl noch ein Fehler im Programm sein. Selbst die
Lösung
mit der Collection funktioniert nicht.

Gruss
Thomas


"Cindy Meister -WordMVP-" <CindyM...@swissonline.ch> schrieb im

Newsbeitrag news:VA.000058a2.004e7983@speedy...

Thomas Huber

unread,
Apr 8, 2002, 10:54:37 AM4/8/02
to
Hallo

Habe soeben herausgefunden, wie ich den 'Fehler' umgehen kann. Mann muss vo
dem Erstellen des neuen Dokumentes das Form ausblenden (Me.Hide) und dann
klappt's. Zumindest bei mir. Alle anderen Varianten hatten keinen Erfolg.

Gruss
Thomas


Cindy Meister -WordMVP-

unread,
Apr 8, 2002, 2:26:18 PM4/8/02
to
Hi Thomas,

> Habe soeben herausgefunden, wie ich den 'Fehler' umgehen kann. Mann muss vo
> dem Erstellen des neuen Dokumentes das Form ausblenden (Me.Hide) und dann
> klappt's. Zumindest bei mir.
>

Interessant. Werde ich mir notieren :-)

Hans-Gerd Ackermann

unread,
Apr 8, 2002, 5:56:40 PM4/8/02
to
Hallo Thomas,
das war es!!!
Mit "Abfrage1.Hide" funktioniert es auch bei mir.

Vielen Dank an alle für euere Bemühungen
und beste Grüße aus dem Rheinland
H.-G.

P.S. Ich habe schon wieder eine Frage, beginne dafür aber wohl besser einen
neuen Thread.

"Thomas Huber" <thomas...@linde-lansing.ch> schrieb im Newsbeitrag
news:OJtwnxw3BHA.2840@tkmsftngp05...

0 new messages