|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.09.2011, 10:59 | #1 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Открытие документа Word из Excel
Добрый день, Уважаемые программисты!
Не могли бы Вы мне помочь в следующей ситуации: есть макрос копирования таблицы из листа excel в word: Sub test() Dim oWord As Object Dim oDoc As Object Sheets("Данные").Range("A3", Cells(Rows.Count, "W").End(xlUp)).Copy On Error Resume Next Set oWord = GetObject(, "Word.Application") If Err.Number <> 0 Then Err.Clear Set oWord = CreateObject("Word.Application") End If If oWord Is Nothing Then MsgBox "Не найдено приложение MS Word!", vbCritical, vbNullString Exit Sub End If Filename$ = "Форма А4.dot" If Dir("\\server\Информация\" & Filename$) <> "" Then Set oDoc = oWord.Documents.Add("\\server\Инфор мация\" & Filename$) Else Set oDoc = oWord.Documents.Add(ThisWorkbook.Pa th & "\" & Filename$) End If If oDoc Is Nothing Then MsgBox "Файл " & Filename$ & " не найден!", vbCritical, "Нет шаблона": Exit Sub End If oWord.Visible = True oWord.ActiveDocument.Bookmarks.Item ("InsertHere").Range.Paste oWord.Selection.HomeKey Unit:=wdStory With oDoc.Range .Application.Browser.Next End With oWord.Run "TableTitle" Set oDoc = Nothing Set oWord = Nothing End Sub Данный макрос после копирования таблицы с листа excel создает новый документ word на основе шаблона "Форма А4.dot", вставляет таблицу и выполняет макрос из word. Все вроде бы работает, но не устраивает то, что документ word при уже запущенном приложении открывается в свернутом виде, т.е. если есть "Документ1.doc", то окно "Документ2.doc" и т.д. открывается уже в свернутом виде. Подскажите пожалуйста, что нужно изменить или добавить в макрос, чтобы ВСЕ (или последующие после первого) создаваемые макросом документы word открывались активными (разворачивались на переднем плане)? Заранее спасибо. |
19.09.2011, 13:17 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Поэкспериментируйте с этими строками кода:
oDoc.Windows(1).WindowState = 1 'wdWindowStateMaximize oDoc.Windows(1).Activate oDoc.Windows(1).SetFocus |
19.09.2011, 17:17 | #3 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Спасибо большое, попробую!
|
19.09.2011, 19:01 | #4 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Не получилось.
Работает если запускать (создавать) для каждого документа word новое приложение: Set oWord = CreateObject("Word.Application") Set oDoc = oWord.Documents.Add(ThisWorkbook.Pa th & "\" & Filename$) oWord.Visible = True ... т.е. если не осуществлять проверку запущенного приложения Ms Word. Но в таком случае при закрытии документов word программа ругается на "Normal.dot". Не подскажите как этого избежать? |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
открытие документа word | balashova | C++ Builder | 0 | 11.04.2011 22:56 |
СОЗДАНИЕ ДОКУМЕНТА В WORD ИЗ EXCEL | GanJa | Microsoft Office Excel | 7 | 07.07.2010 02:07 |
Delphhi 7 Открытие документа ms Word | Aleks1988 | Помощь студентам | 14 | 14.05.2010 13:30 |
Excel + сохранине Word документа | Tirendus | Microsoft Office Excel | 2 | 13.05.2010 16:36 |
Заполнение документа Word из массива даных Excel | sasha_prof | Microsoft Office Excel | 2 | 27.01.2010 11:10 |