Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Word öffnet nicht richtig

Forumthread: Word öffnet nicht richtig

Word öffnet nicht richtig
02.01.2004 22:53:06
Jens
Hallo Zusammen

Frohes Neues wünsch ich.

Folgende Frage.
Über eine Schaltfläche öffne ich eine Wordvorlage mit folgendem Makro.


Sub Vorlage_Meldung_öffnen()
'prüfen, welcher Pfad existiert
Dim VorlPfad As String
Dim VorlDatei As String
Dim FSo, sWb
Dim i As Byte
'alle angegebenen Pfade durchlaufen
For i = 1 To 200
'zu überprüfendes Hilfsblatt festlegen
VorlPfad = Worksheets("help.doc").Cells(i, 1)
'zu öffnende Datei festlegen
VorlDatei = VorlPfad & "Vorlage_Meldung.doc"
'überprüfen, ob die Datei existiert
Set FSo = CreateObject("Scripting.FileSystemObject")
If FSo.FileExists(VorlDatei) Then
'Meldung ausgeben
If Bowert = True Then MsgBox _
"Datei wurde unter folgendem Pfad gefunden und wird jetzt geöffnet. Pfad lautet: " & VorlPfad
On Error Resume Next
Dim WordApp As Word.Application
'prüfen, ob Word schon geöffnet
Set WordApp = GetObject(, "Word.Application")
If Err.Number = 429 Then              'Kein Word gefunden
'neue Word-Instanz öffnen
Set WordApp = CreateObject("Word.Application")
'Meldung öffnen
WordApp.Application.Documents.Open VorlDatei
End If
On Error GoTo 0
With WordApp
'Word maximieren
.WindowState = wdWindowStateMaximize
'Word anzeigen
.Application.Visible = True
End With
Set WordApp = Nothing
Exit Sub
End If
Next
End Sub


Hierzu wird Word als Application aufgerufen. (Extras, Verweise etc in V.Basic)

Problem ist nur, dass Word unter Office97, da ja in Maximalgröße geöffnet wird, immer alle Symbol- bzw. Menüleisten ausgeblendet werden. Ich erhalte praktisch immer nur das nackte Dokument ohne alles. Unter Office (höhere Versionen) passiert das nicht. Hier wird Word ganz normal im Vollbild mit allen Leisten geöffnet. Da ich aber auf Arbeit nur Office 97 zur Verfügung habe, brauch ich ne Lösung, unter der Word in Vollbild normal öffnet. Gebe ich nämlich unter Office 97 nicht den Befehl :
With WordApp
'Word maximieren
.WindowState = wdWindowStateMaximize
'Word anzeigen
.Application.Visible = True

wird mir immer nur ein kleines Fenster geöffnet.

Wie kann ich das abstellen?

Ich habe es dann noch mal mit diesem Code probiert, da Word hier als Programm, nicht als Application, geöffnet wird. Da habe ich die Problem mit dem Öffnen nicht. Nur klappt hier der Befehl mit den gDir nicht. Ich bekomme zwar Word geöffnet, allerdings mit dem Hinweis, dass der Pfad nicht stimmt.
Was mach ich falsch???


Sub Vorlage_ Meldung_öffnen()
'prüfen, welcher Pfad existiert:
Dim VorlPfad As String
Dim VorlDatei As String
Dim FSo, sWb
Dim i As Byte
'alle angegebenen Pfade durchlaufen
For i = 1 To 200
'zu überprüfendes Hilfsblatt festlegen
VorlPfad = Worksheets("help.doc").Cells(i, 1)
'zu öffnende Datei festlegen
VorlDatei = VorlPfad & "Vorlage_Meldung.doc"
'überprüfen, ob die Datei existiert
Set FSo = CreateObject("Scripting.FileSystemObject")
If FSo.FileExists(VorlDatei) Then
'Meldung ausgeben
If Bowert = True Then MsgBox _
"Ordner wurde unter folgendem Pfad gefunden und wird jetzt geöffnet. Pfad lautet:   " & VorlPfad
'prüfen ob "Verzeichnis" schon offen, wenn nicht öffnen:
On Error Resume Next
Dim stAppName As String
Dim gDir As String
'Pfad öffnen
gDir = VorlDatei
'Word öffnen
stAppName = "E:\Programme\Microsoft Office\Office10\WINWORD.EXE & gDir"
'Word maximieren
Call Shell(stAppName, vbMaximizedFocus)
Exit Sub
End If
Next
End Sub


Würde mich freuen wenn zu beiden Codes Hilfe käme.

Gruß Jens
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word öffnet nicht richtig
02.01.2004 23:10:09
DieterB
Hallo Jens,

kann es sein, dass auf Arbeit, die Menü- und Symbolleisten Standardmäßig ausgeblendet sind?

Gruß

DieterB
AW: Word öffnet nicht richtig
02.01.2004 23:35:12
Jens
Hallo Dieter

Wenn das so wäre, würde mir Word, wenn ich es starte, also als ganz normale Programm, die Symbolleisten auch nicht anzeigen. Aber das tut es. Zu Hause habe ich auch noch einen Rechner mit Office 97. Gleicher Effect. Es liegt wirklich an dem Befehl ".WindowState = wdWindowStateMaximize". Damit kommt Office 97 wohl nicht zurecht. Nur füge ich den Befehl nicht ein, öffnet Word immer nur im Minimale Fenster.

Früher habe ich die Word Vorlagen einfach mit folgenden Befehl geöffnet:

Sub Schaltfläche8_BeiKlick()
Dim stAppName As String
stAppName = "C:\Programme\Microsoft Office\Office\winword.exe G:\Meldungen\Meldungen_Betrieblich\01_Vorlagen\Vorlage_Meldung.doc"
Call Shell(stAppName, 1)
End Sub


Funktionierte wunderbar. Jetzt habe ich aber bei meinem Code eine Pfadabfrage vorgeschaltet, bei der über ein Hilfsblatt (help.doc) 4 verschiedene Pfade abgefragt werden, unter dem die Vorlage liegen könnte. Immer nur einer ist auch wirklich, je nach Benutzung der Oberfläche, zugänglich. Grund ist das Firmennetzwerk und beschränkte Zugriffe auf Laufwerke und Ordner verschiedener Abteilung.

Dann habe ich es mit dem ersten Code über Application versucht. Halt Probleme mit Fenstergröße unter 97. Jetzt bin ich dabei den zweiten Code zum Laufen zu bringen. Hier habert es aber mit dem letzten Befehl. 'Word öffnen
stAppName = "E:\Programme\Microsoft Office\Office10\WINWORD.EXE & gDir"
Also Word dazu zu bringen, dass es öffnet, und zwar als Programm und nicht als Application, und dann die Vorlage zu öffnen. Nur bei der Vorlage bekomme ich immer eine Fehlermeldung, dass der Pfad nicht stimmt.
Woran liegts.

Gruß Jens
Anzeige
AW: Word öffnet nicht richtig
02.01.2004 23:42:21
DieterB
Hallo Jens,

Hast Du mal in den Projekt-katalog geschaut?

Kann wirklich sein, dass Excel97 diesen Befehl nicht kennt.

Gruß

DieterB
AW: Word öffnet nicht richtig
02.01.2004 23:51:22
Jens
Hallo Martin

Hab ich noch nicht, aber ich denke mal das es so sein wird. Denn unter höheren Versionen läuft der Befehl tatelos. Ich werde mich wohl damit abfinden müssen, das dass mit der Application starten nicht funktioniert.
Wäre aber trotzdem toll wenn Du oder andere noch ne Idee hätten, wie ich den zweiten Code dann zum laufen bekommen würde.

Ich muß jetzt aber erst mal in die Kiste. Schau Morgen wieder rein.
Danke erst mal.

Gruß Jens
Anzeige
AW: Word öffnet nicht richtig
02.01.2004 23:55:09
DieterB
Hallo Jens,

in meine Büchern über VBA für Excel97 wird Word nicht mal erwähnt.

Gruß

DieterB
AW: Word öffnet nicht richtig
03.01.2004 13:34:11
Jens
Hallo Dieter

Das ist aber traurig. Vielleicht finden sich doch aber noch jemand der mir wenigsten bei dem 2. Code weiterhelfen kann. Irgend wie muss ich den wenigstens zu Laifen bringen.#

Wer kann also noch Hilfe anbieten.

Gruß Jens
Anzeige
AW: Word öffnet nicht richtig
03.01.2004 18:49:17
DieterB
Hallo Jens,
ich hoffe Du kommst damit klar.
Ansonsten muss Du mal die Recherche bemühen.
Dein Problem ist hier in den letzten tagen mehrfach behandelt worden.

Gruß

DieterB


Sub Word_Dokument_von_Excel_aus_steuern()
Dim myWord As Object
'Fehlerroutine für die Objectabfrage aktivieren
On Error Resume Next
'Abfragen einer besthenden WORD-Instanz um wiederholtes starten zu verhindern
'9 = Word 2000, 10 = Word XP
Set myWord = GetObject("Word.Application.10")
If Err.Number <> 0 Then
'Fehlervariable leeren wenn Instanz noch nicht besteht
Err.Clear
'Zuweisung der Instanz
Set myWord = CreateObject("Word.Application.10")
'Instanz öffnen
'Um das ganze etwas im Hintergrund laufen zu lassen
'kann man den Status "wdWindowStateMinimize" verwenden
myWord.Visible = True: objWW.WindowState = wdWindowStateMaximize
Else
'Instanz besteht bereits
myWord.Activate
'Instanz in der Vordergrund bringen oder
'mit "wdWindowStateMinimize" im Hintergrund ausführen
myWord.Visible = True: objWW.WindowState = wdWindowStateMaximize
End If
'Hier muss der der Dateiname stehen der verwendet werden soll
'Es sollte aber eine Dokumentvorlage verwendet werden
'um keine Änderungen an den Textmarken beim einfügen zu verursachen
myWord.Application.Documents.Open "C:\Test.doc"
'Die Textmarken "a1, a2, a3" müssen im Dokument bereits bestehen
'Dann werden nach dem öffnen des Dokuments die Werte von Tabelle1
'A1, B1 und C1 in die jeweiligen Textmarken geschrieben
myWord.ActiveDocument.Bookmarks("a1").Range.Text = Worksheets("Tabelle1").Range("A1")
myWord.ActiveDocument.Bookmarks("a2").Range.Text = Worksheets("Tabelle1").Range("B1")
myWord.ActiveDocument.Bookmarks("a3").Range.Text = Worksheets("Tabelle1").Range("C1")
'Das aktive WordDokument drucken
myWord.ActiveDocument.PrintOut
'Dokument schliessen ohne speichern
myWord.ActiveDocument.Close savechanges:=False
'Speichern mit fixem Namen
'myWord.ActiveDocument.SaveAs Filename:="DokumentName", FileFormat:=wdFormatDocument
'Speichern mit Variable
'myWord.ActiveDocument.SaveAs Filename:=Variable, FileFormat:=wdFormatDocument
'WORD-Instanz schliessen
myWord.Application.Quit (True)
'Variable leeren
Set myWord = Nothing
End 

Sub

Anzeige
AW: Word öffnet nicht richtig
03.01.2004 20:26:17
Jens
Hallo Dieter

Ich danke Dir erst mal für den umfangreichen Code. Ich kann hier wirklich viele nützliche Details herauslesen und bestimmt auch irgendwann verwenden.
Nur ist es leider definitiv so, dass mir die ganzen netten Applicationscodes bei meinem Office97 Problem nicht viel bringen. Denn mit meinem bisherigen Code über Word.Application starten, habe ich ja unter Word 2000 (9) bzw. Word XP (10) keine Probleme. Und Dein Code funktioniert angepasst auch prima. Nur eben unter Office97 läuft das Ganze eben nicht.

Daher eben auch die Bitte an Dich, mir bei meinem 2.Code Beispiel zu helfen. Hier hab ich nicht das Problem, dass ich Word (97) über wdWindowState Befehle im Fenster anpassen muss. 97 kapiert es ja eh nicht.

Bei meinem 2. Code starte ich ja das Programm Word direkt und hatte früher auch keine Problem das Dokument mit zu öffnen, durch die Angabe der kompletten Pfades hinter dem Programmstartbefehl.

Das Beispiel nannte ich ja:
Dim stAppName As String

stAppName = "C:\Programme\Microsoft Office\Office\winword.exe G:\Meldungen\Meldungen_Betrieblich\01_Vorlagen\Vorlage_Meldung.doc"

Call Shell(stAppName, 1)

End Sub

Nur habe ich ja jetzt die Pfadabfrage mit integriert. Und den Code kann ich einfach nicht zum Laufen bringen.
Der 2.Code ist ja bis:
'prüfen ob "Verzeichnis" schon offen, wenn nicht öffnen:
On Error Resume Next

gleich. Nur danach starte ich keine Application, sondern eben Word. Funktioniert ja auch, wenn da nur nicht die Pfadabfrage wäre. Denn das gDir macht mir noch Kopfzerbrechen. Den restlichen Code kennst Du ja:

Dim stAppName As String
Dim gDir As String
'Pfad öffnen
gDir = VorlDatei
'Word öffnen
stAppName = "E:\Programme\Microsoft Office\Office\WINWORD.EXE & gDir"
'Word maximieren
Call Shell(stAppName, vbMaximizedFocus)

Exit Sub
End If
Next
End Sub
Ich bekomme Word geöffnet, nur wird der Pfad bzw. das Dokument nicht erkannt.

Aber Dieter, ich möchte Dich nicht überstrapazieren. Du hast mir schon wieder viel gezeigt. Denn ich bin nicht gerade der Überflieger in VBA. Deswegen nerv ich manchmal auch.
Mal schauen wie ich das Problem mit dem 2. Code noch lösen kann. Vielleicht hast Du ja noch mal eine ruhige Minute.

Ansonsten an dieser Stelle noch mal ein ganz herzliches Dankeschön für Deine Mühe.

Gruss Jens
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige