I have the following code to open the manual for an Excel Workbook application I have developed:
Sub OpenManual()
'Word.Application.Documents.Open "\filePathFormFlow To MSExcelFeedSampleReport-Manual.docx"
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.Documents.Open "\filePathFormFlow To MSExcelFeedSampleReport-Manual.docx"
End Sub
This gives me 2 issues though:
- The document opens, but in the background. The user doesn’t know the document has opened unless they know to check Microsoft Word in the Taskbar.
- When I try to close the word document I receive:
This file is in use by another application or user. (C:UsersMeAppData…Normal.dotm)
When I click ok on that dialogue, I receive a «Save As» screen.
If I cancel out of that and try to close the blank Microsoft Word instance I then get:
Changes have been made that affect the global template, Normal. Do you want to save those changes?
Then if I click No, everything finally closes.
Can anyone help me out with these 2 issues? Do I need to release the object somehow? Have never seen this before.
EDIT:
After trying @Layman-Coders method:
Sub OpenManual()
'Word.Application.Documents.Open "\filePathFormFlow To MSExcelFeedSampleReport-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 "\filePathFormFlow To MSExcelFeedSampleReport-Manual.docx"
objWord.Quit
Set objWord = Nothing
End Sub
When I have one other word document open and click the button, the following occurs:
- Manual opens in the forefront, but I immediately receive
This file is in use by another application or user. (C:UsersMeAppData...Normal.dotm)
- I press OK and receive the Save As dialogue.
- Cancel out of the Save As dialogue and am presented my Manual document.
- When I click the Red X to close the document, I receive
Changes have been made that affect the global template, Normal. Do you want to save those change?
I click No and the document closes.
If this document is the first instance of word I have opening:
- The document opens.
- As soon as code hits the
objWord.Quit
line the document immediately closes.
I am just wanting the document to open to the forefront allowing users to view the Manual for assistance when they need it, and let them close the document at their discretion.
title | keywords | f1_keywords | ms.prod | api_name | ms.assetid | ms.date | ms.localizationpriority |
---|---|---|---|---|---|---|---|
Document.Close method (Word) |
vbawd10.chm158008401 |
vbawd10.chm158008401 |
word |
Word.Document.Close |
59603a58-17ee-bc65-597b-6200e8be9fbc |
06/08/2017 |
medium |
Document.Close method (Word)
Closes the specified document.
Syntax
expression.Close (SaveChanges, OriginalFormat, RouteDocument)
expression Required. A variable that represents a Document object.
Parameters
Name | Required/Optional | Data type | Description |
---|---|---|---|
SaveChanges | Optional | Variant | Specifies the save action for the document. Can be one of the following WdSaveOptions constants: wdDoNotSaveChanges, wdPromptToSaveChanges, or wdSaveChanges. |
OriginalFormat | Optional | Variant | Specifies the save format for the document. Can be one of the following WdOriginalFormat constants: wdOriginalDocumentFormat, wdPromptUser, or wdWordDocument. |
RouteDocument | Optional | Variant | True to route the document to the next recipient. If the document does not have a routing slip attached, this argument is ignored. |
Example
This example prompts the user to save the active document before closing it. If the user clicks Cancel, error 4198 (command failed) is trapped and a message is displayed.
On Error GoTo errorHandler ActiveDocument.Close _ SaveChanges:=wdPromptToSaveChanges, _ OriginalFormat:=wdPromptUser errorHandler: If Err = 4198 Then MsgBox "Document was not closed"
See also
Document Object
[!includeSupport and feedback]
Содержание
- Метод Application.Quit (Word)
- Синтаксис
- Параметры
- Пример
- См. также
- Поддержка и обратная связь
- Метод Document.Close (Word)
- Синтаксис
- Параметры
- Пример
- См. также
- Поддержка и обратная связь
- Application.Quit method (Word)
- Syntax
- Parameters
- Example
- See also
- Support and feedback
- Работа с объектами документа
- Создание нового документа
- Открытие документа
- Сохранение существующего документа
- Сохранение нового документа
- Закрытие документов
- Активация документа
- Определение того, открыт ли документ
- Ссылка на активный документ
- Поддержка и обратная связь
- Document.Close method (Word)
- Syntax
- Parameters
- Example
- See also
- Support and feedback
Метод Application.Quit (Word)
Завершает работу с Microsoft Word и при необходимости сохраняет или маршрутизирует открытые документы.
Синтаксис
expression. Выход (SaveChanges, OriginalFormat, RouteDocument)
выражение (обязательно). Переменная, представляющая объект Application .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Savechanges | Необязательный | Variant | Указывает, сохраняет ли Word измененные документы перед закрытием. Может быть одной из констант WdSaveOptions . |
OriginalFormat | Необязательный | Variant | Указывает способ, которым Word сохраняет документы, исходный формат которых не был форматом документа Word. Может быть одной из констант WdOriginalFormat . |
RouteDocument | Необязательный | Variant | Значение true для маршрутизации документа следующему получателю. Если документ не имеет прикрепленного скольжения маршрутизации, этот аргумент игнорируется. |
Пример
В этом примере приложение Word закрывается и пользователю предлагается сохранить каждый документ, который изменился с момента последнего сохранения.
В этом примере пользователю предлагается сохранить все документы. Если пользователь нажимает кнопку Да, все документы сохраняются в формате Word до закрытия Word.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Метод Document.Close (Word)
Закрывает указанный документ.
Синтаксис
expression. Close (SaveChanges, OriginalFormat, RouteDocument)
выражение (обязательно). Переменная, представляющая объект Document .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Savechanges | Необязательный | Variant | Указывает действие сохранения для документа. Может быть одной из следующих констант WdSaveOptions : wdDoNotSaveChanges, wdPromptToSaveChanges или wdSaveChanges. |
OriginalFormat | Необязательный | Variant | Задает формат сохранения документа. Может быть одной из следующих констант WdOriginalFormat : wdOriginalDocumentFormat, wdPromptUser или wdWordDocument. |
RouteDocument | Необязательный | Variant | Значение true для маршрутизации документа следующему получателю. Если документ не имеет прикрепленного скольжения маршрутизации, этот аргумент игнорируется. |
Пример
В этом примере пользователю предлагается сохранить активный документ перед закрытием. Если пользователь нажимает кнопку Отмена, возникает ошибка 4198 (сбой команды) и отображается сообщение.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Application.Quit method (Word)
Quits Microsoft Word and optionally saves or routes the open documents.
Syntax
expression.Quit (SaveChanges, OriginalFormat, RouteDocument)
expression Required. A variable that represents an Application object.
Parameters
Name | Required/Optional | Data type | Description |
---|---|---|---|
SaveChanges | Optional | Variant | Specifies whether Word saves changed documents before closing. Can be one of the WdSaveOptions constants. |
OriginalFormat | Optional | Variant | Specifies the way Word saves documents whose original format was not Word Document format. Can be one of the WdOriginalFormat constants. |
RouteDocument | Optional | Variant | True to route the document to the next recipient. If the document does not have a routing slip attached, this argument is ignored. |
Example
This example closes Word and prompts the user to save each document that has changed since it was last saved.
This example prompts the user to save all documents. If the user clicks Yes, all documents are saved in the Word format before Word closes.
See also
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Источник
Работа с объектами документа
В Visual Basic методы изменения файлов являются методами объекта Document или коллекции Documents . В этом разделе приведены примеры Visual Basic, связанные с задачами, определенными в следующих разделах.
Создание нового документа
Коллекция Documents включает все открытые документы. Чтобы создать документ, используйте метод Add , чтобы добавить объект Document в коллекцию Documents . Следующая инструкция создает документ.
Лучший способ создания документа — назначить возвращаемое значение переменной объекта. Метод Add возвращает объект Document , который ссылается на новый документ. В следующем примере объект Document , возвращенный методом Add , назначается переменной объекта . Затем задаются несколько свойств и методов объекта Document . Вы можете легко управлять новым документом с помощью объектной переменной.
Открытие документа
Чтобы открыть существующий документ, используйте метод Open с коллекцией Documents . Следующая инструкция открывает документ с именем Sample.doc, расположенный в папке MyFolder.
Сохранение существующего документа
Чтобы сохранить один документ, используйте метод Save с объектом Document . Следующая инструкция сохраняет документ с именем Sales.doc.
Вы можете сохранить все открытые документы, применив метод Save к коллекции Documents . Следующая инструкция сохраняет все открытые документы.
Сохранение нового документа
Чтобы сохранить один документ, используйте метод SaveAs2 с объектом Document . Следующая инструкция сохраняет активный документ как «Temp.doc» в текущей папке.
Аргумент FileName может включать только имя файла или полный путь (например, «C:DocumentsTemporary File.doc»).
Закрытие документов
Чтобы закрыть один документ, используйте метод Close с объектом Document . Следующая инструкция закрывает и сохраняет документ с именем Sales.doc.
Вы можете закрыть все открытые документы, применив метод Close коллекции Documents . Следующая инструкция закрывает все документы без сохранения изменений.
В следующем примере пользователю предлагается сохранить каждый документ перед закрытием документа.
Активация документа
Чтобы изменить активный документ, используйте метод Activate с объектом Document . Следующая инструкция активирует открытый документ с именем Sales.doc.
Определение того, открыт ли документ
Чтобы определить, открыт ли документ, можно перечислить коллекцию Documents с помощью параметра For Each. Следующая инструкция. В следующем примере документ с именем Sample.doc активируется, если документ открыт, или открывается Sample.doc, если он в настоящее время не открыт.
Ссылка на активный документ
Вместо ссылки на документ по имени или по номеру индекса, например, Documents(«Sales.doc») свойство ActiveDocument возвращает объект Document , ссылающийся на активный документ (документ с фокусом). В следующем примере отображается имя активного документа или, если документы не открыты, отображается сообщение.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Document.Close method (Word)
Closes the specified document.
Syntax
expression.Close (SaveChanges, OriginalFormat, RouteDocument)
expression Required. A variable that represents a Document object.
Parameters
Name | Required/Optional | Data type | Description |
---|---|---|---|
SaveChanges | Optional | Variant | Specifies the save action for the document. Can be one of the following WdSaveOptions constants: wdDoNotSaveChanges, wdPromptToSaveChanges, or wdSaveChanges. |
OriginalFormat | Optional | Variant | Specifies the save format for the document. Can be one of the following WdOriginalFormat constants: wdOriginalDocumentFormat, wdPromptUser, or wdWordDocument. |
RouteDocument | Optional | Variant | True to route the document to the next recipient. If the document does not have a routing slip attached, this argument is ignored. |
Example
This example prompts the user to save the active document before closing it. If the user clicks Cancel, error 4198 (command failed) is trapped and a message is displayed.
See also
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Источник
The various tools offered by the suite of Microsoft Office allow us to not only create documents, but also create functions. Of course this is for those programmers who know Visual Basic VBA applications. But we’re going to put the facilitated and in this article I’ll show Closing Word from a code or VBA-Script quick and easy.
But before you develaremos the question of what are the Applications Visual Basic and this is nothing more than an application integrated into the Microsoft Office package.
This allows programming in the leaves of any document, either Word, Excel, PowerPoint, Access and as you can not compile becomes a macro and distributed just copy the document.
Although this is an activity that is widely used by programmers, not you prevent any mortal learn to create functions using VBA Script. And we give the task to show it in a way quickly and easily. Since some terms you might find confusing and somewhat intimidating, like when you try to convert a document to Word OpenOffice .
Closing Word from a Script or VBA code
One of its main uses is about automating repetitive tasks or frequently used, like this, to open or close a document created in Word .
Here are the steps you must apply to quit Word from a code or VBA Script . And we start the application from the desktop or wherever you have saved.
The next step is important because you have the Scheduler tab in the main menu If this tab or tab is not displayed, you must do the following. Ubícate with the cursor on the icon for Microsoft Office and click. This will display a dialog with different options and you must place you in the bottom of it and select Word Options.
Now a picture is displayed and the left side of the same should choose the option more frequently and on the right side in the main section options to work with Word.
You’ll find the option Show Developer tab in the Ribbon and locate the need to click the check box located on the left side to select it.
Steps to close Word from a code or VBA-Script Easy and fast
Once you already have in the ribbon tab programmer, and you can follow the signs that will let . Close Word from a code or VBA script
The next step is to go to the main menu and select the Developer tab . Then in the code section located on the left, select Visual Basic side option.
The next step is to type or paste the following code to the end of the line, Set objWord = CreateObject ( «Word.Application») in September objDoc = objWord.Documents.Close ( «c: scripts test.doc ‘) objWord.Quit the next step will be to go to the upper left corner and click on the icon Microsoft Office.
Then you choose the Save option and what you do with the following name test.doc this with the VBA will use to close the Word application.
You can tell how easy and fast it is to perform tasks scheduler. And use the Basic programming language which is very similar to other packages such as OpenOffice and office StarBasic.
And with This learning about programming language we’re done with the tutorial, but you might want to know more about how this is insert programming codes sources in a document. And so you can learn more about this point very little explored in the Word program.
You may also be interested in:
The different tools offered thereafter Microsoft Office allow us not only to create documents, but also to create functions. Of course, this is for programmers who are familiar with Visual Basic VBA applications. But we will make it easy for you and in this article we will learn to close Word from VBA code or script — easy and fast.
But first, we will reveal the question of what are Visual Basic applications and it is nothing more than an application integrated into the Microsoft Office package.
This allows programming in the sheets of any document, be it Word, Excel, PowerPoint, Access and since it cannot be compiled it becomes a macro and is distributed by simply copying the document.
Although this is an activity widely used by programmers, it does not prevent any mortal from learning how to create functions using VBA scripts. And we will give ourselves the task of teaching it quickly and easily. Since some terms can seem confusing and somewhat intimidating, such as when trying to convert a document OpenOffice in Word .
One of its primary uses is for automating repetitive or frequently used tasks, like this one, opening or closing a document created in Word .
Here are the steps to follow to be able to close Word from code VBA or script . And to start, we enter the app from the desktop or wherever we have saved it.
The next step is important because you must have the Developer tab in the main menu, if this tab or tab is not displayed, you must perform the following operations. Hover over the Microsoft Office icon and click. This action will bring up a box with different options and you need to go to the bottom of it and select Word Options.
Now a box will be displayed and on the left side of it you need to choose the Most Frequent option and on the right side from the main options to work with Word.
You will find the option Show Developer tab in the ribbon and when you locate it, you need to click the checkbox on its left side to select it.
Steps to Close Word from VBA Code or Script — Quick and Easy
Once you have the Developer tab in the ribbon, you can continue with the instructions that will allow you to close Word to from VBA code or script.
The next step is to access the main menu and select the Developer tab . Then in the Code section which is on the left side, you select the Visual Basic option.
The next step will be to write or paste the following code at the end of the line, Set objWord = CreateObject («Word.Application») Set objDoc = objWord.Documents.Close («c: scripts test.doc ‘) objWord The next step will be to go to the upper left corner and click on the icon Microsoft Office
Then you have to choose the Save option and you will do it with the following name test.doc this with the code VBA that you will use to close the Word application.
You can see how quick and easy it is to perform programmer tasks. And use the Basic programming language which has great similarity with other office software such as OpenOffice and StarBasic.
And with this learning programming language, we are done with the tutorial, but you might want to know more about how whose codes programming sources are inserted in a document. And so that you can learn more about this little explored point of Word program.