Zamknąć / zwolnić obiekt Word w VBA?
Mam następujący kod, aby otworzyć podręcznik dla aplikacji skoroszytu programu Excel, który opracowałem:
Sub OpenManual()
'Word.Application.Documents.Open "\\filePath\FormFlow To MSExcel\FeedSampleReport-Manual.docx"
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.Documents.Open "\\filePath\FormFlow To MSExcel\FeedSampleReport-Manual.docx"
End Sub
Daje mi to jednak 2 problemy:
Dokument otwiera się, ale w tle. Użytkownik nie wie, że dokument został otwarty, chyba że wie, aby sprawdzić program Microsoft Word na pasku zadań.Kiedy próbuję zamknąć słowo dokument, otrzymuję:Ten plik jest używany przez inną aplikację lub użytkownika. (C: Użytkownicy Ja AppData ... Normal.dotm)Kiedy klikam OK w tym dialogu, otrzymuję ekran „Zapisz jako”.
Jeśli anuluję to i spróbuję zamknąć pustą instancję Microsoft Word, otrzymam:
Wprowadzono zmiany, które wpływają na szablon globalny, Normalny. Czy chcesz zapisać te zmiany?
Następnie, jeśli kliknę Nie, wszystko ostatecznie się zamknie.
Czy ktoś może mi pomóc w tych dwóch sprawach? Czy muszę jakoś zwolnić obiekt? Nigdy wcześniej tego nie widziałem.
EDYTOWAĆ:
Po wypróbowaniu metody @ Layman-Coders:
Sub OpenManual()
'Word.Application.Documents.Open "\\filePath\FormFlow To MSExcel\FeedSampleReport-Manual.docx"
'Open an existing Word Document from Excel
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
' Should open as the forefront
objWord.Activate
'Change the directory path and file name to the location
'of the document you want to open from Excel
objWord.Documents.Open "\\filePath\FormFlow To MSExcel\FeedSampleReport-Manual.docx"
objWord.Quit
Set objWord = Nothing
End Sub
Kiedy otwieram inny dokument Word i klikam przycisk, następuje:
Podręcznik otwiera się na pierwszy plan, ale natychmiast go otrzymujęThis file is in use by another application or user. (C:\Users\Me\AppData\...\Normal.dotm)
Naciskam OK i odbieram dialog Zapisz jako.Anuluj z okna dialogowego Zapisz jako i wyświetlę mój dokument Ręczny.Kiedy klikam Czerwony X, aby zamknąć dokument, otrzymujęChanges have been made that affect the global template, Normal. Do you want to save those change?
Klikam Nie i dokument zamyka się.Jeśli ten dokument jest pierwszym wystąpieniem słowa, które otwieram:
Dokument zostanie otwarty.Jak tylko kod dotrze doobjWord.Quit
line dokument natychmiast zamyka się.Chcę tylko, aby dokument otwierał się na pierwszy plan, umożliwiając użytkownikom przeglądanie podręcznika w celu uzyskania pomocy, gdy tego potrzebują, i pozwala im zamknąć dokument według własnego uznania.