2011-01-01 6 views
1

Es scheint, dass im Microsoft Word-Objektmodell ein Word-Dokument an ein Fenster gebunden ist, aber ich möchte das vorhandene Dokument schließen und ein neues öffnen, ohne das Word-Fenster zu schließen. Wie kann ich das machen?Wie kann ich ein anderes neues Word-Dokument in demselben Word-Fenster laden?

+0

Was macht Sie denken, dass das möglich ist? –

+1

Okay, * warum * willst du es machen? Ändern Sie Ihre Frage, um Ihr tatsächliches Ziel zu erklären, und wir können Ihnen vielleicht helfen. –

+0

@ Jonathan, ich entwickle ein Word-Addin, das Seitenleisten zum Word-Fenster hinzufügt, und ich muss verschiedene Dokumente im * selben * Word-Fenster neu laden, und wenn das Word-Fenster geschlossen wird, wird der * Status * der Seitenleisten verloren. –

Antwort

1

Dies funktioniert für mich, ein Dokument zu schließen und ein Dokument im selben Fenster öffnen (ich das Makro aus normal.dotm läuft):

Sub CloseOpenSameWindow() 
    Dim d As Document: Set d = ActiveDocument 
    Application.ScreenUpdating = False 
    d.Close 
    Application.Documents.Add Template:="C:\Users\Me\Desktop\Mydocument.docx" 
    Application.ScreenUpdating = True 
End Sub 
+0

Hi Otaku, Word 2007 blinkt immer noch sehr mit dieser Methode, mit Word 2003 ist es besser ... Durch das Blinken meine ich, dass man sieht, dass sich ein Fenster schließt und ein anderes auftaucht. Danke, dass Sie mich über die ScreenUpdating-Eigenschaft informiert haben ... –

+0

@Edwin: Ich bin auf Word 2010 und ich habe kein Flashing - dh das Fenster ** schließt nicht - nur das Dokument schließt und ein neues Einer wird stattdessen im selben Fenster geöffnet. –

+0

Danke für die Info, ich habe nicht weiter mit Word 2010 getestet, denn auf Word 2007 flackert es sehr. Und ja, es schließt das Fenster nicht, sieht so aus, als wäre meine ursprüngliche Annahme falsch ... Danke, dass du mich das wissen lässt. –

0

Haben Sie versucht, Datei-> Schließen? Das sollte schließen Sie die Datei und lassen Sie das Fenster offen, so dass Sie eine andere Datei im selben Fenster öffnen können, zumindest so, wie ich mich erinnere, dass es funktioniert.

+0

Hi Diabl0658, das ist wahr, wenn es nur ein Word-Dokument ist Öffnen, andernfalls wird das Schließen eines Dokuments das Word-Fenster ebenfalls schließen. –

0

Strg + w es und dann Strg + n (öffnen neue)

Zwei Schlüssel Taps, das ist alles :)

+0

Hi Akhil, Ich entwickle ein Wort Addin, und ich brauche das ursprüngliche Fenster bleiben, damit das Add-In wie erwartet funktioniert. –

0

Ist das nicht .close (aktuelle Fenster zu schließen) ?

.exit beendet die gesamte Anwendung?

0

Vorübergehend

Application.ShowWindowsInTaskbar = False 

verwenden, welches Wort in eine MDI-Stil Anwendung effektiv macht.

+0

Aber dann muss ich diese Word-Option auf dem PC des Benutzers ändern ... Darüber hinaus hat Word 2000 keine diese Option ... haben wir alternative Möglichkeiten? –

+0

Mit "vorübergehend verwenden" meinte ich: setze eine Variable auf den aktuellen Wert, ändere die Einstellung auf "false", führe einen Dateiwechsel durch und ändere die Einstellung wieder auf ihren ursprünglichen Wert zurück. AFAIK, Word 2000 hatte nie eine MDI-Option, also denke ich, dass Sie mit dieser Version kämpfen werden. Aber ganz offen gesagt, ich denke, Ihr Add-In für * jede * Word-Version zu gestalten, wird sowieso problematisch sein. – Antagony

+0

danke für die Erklärung, dies wird ein Problem verursachen, - meine Add-In-Verwendung Aufgabenbereiche und vorübergehend ändert diese Option wird Probleme verursachen, denn wenn diese Option ausgeschaltet ist, habe ich mehrere Instanzen meiner Aufgabenbereiche; Wenn diese Option aktiviert ist, ist nur eine Instanz des Aufgabenbereichs zulässig. Irgendwelche Gedanken? Vielen Dank! –

0

Sie sollten folgendes beachten für die Umsetzung Add-in:

  • Das Add-in sollte, hängt nicht auf dem Fenstermodus (SDI oder MDI)
  • Das Add-in-Zustand gespeichert werden sollten, um retai n Benutzeranpassungen. Das Speichern des Add-In-Status kann mithilfe von XML, Registrierung, INI oder einem anderen Format erfolgen.
  • Jedes Mal, wenn ein Dokument geöffnet wird, sollte sich das Add-In entsprechend dem Dokumentstatus ändern.
  • Das Add-In sollte mehrere Word-Instanzen unterstützen.

See:

http://www.visualstudiodev.com/visual-studio-tools-for-office/word-addin-multiple-instances-of-word-running-48076.shtml

http://msdn.microsoft.com/en-us/library/aa189710(v=office.10).aspx

0

versuchen, diese

im Normal.ThisDocument

Sub main() 
    Me.Close 
    Documents.Add 
End Sub 

dies die aktuelle schließen dokumentieren und öffnen Sie ein neues Dokument. Sie müssen mit dem Speichern für das aktuelle Dokument umgehen

Verwandte Themen