Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2012, 19:43   #1
maykkk
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 13
По умолчанию Вопрос покажется "надоевшим"...но он не решается...

Нужно открыть документ Ворда из Ехеля…перерыл 400страниц этого сайта…вот ,что нашел…но ничего не работает …не открывает…в чем фокус.????


libertarij
Пользователь


Уважение: +0/-0
Offline

Сообщений: 1


Re: Как из Excel с помощью макроса открыть файл Word
« Ответ #1 : 21 Февраль 2010, 16:41:39 »
___________________________________ _____
Открыть так:
Код:
Sub Открыть_документ_Word()
'
' Открыть_документ_Word Макрос
' Открыть документ Word из Excel
'
' Сочетание клавиш: Ctrl+d
'
Dim WD
Set WD = CreateObject("Word.Application")
WD.Visible = True
WD.Documents.Open Filename:=Application.ThisWorkbook. Path & "\1.doc"
End Sub




-------------------------------------------------------------------------------------------------------------------------------
Sub q()
Dim Ворд As New Word.Application
Dim Документ As Word.Document
Dim Автотекст As Word.Document
Dim ПутьАвтотекста As String
Ворд.Visible = True
Set Документ = Ворд.Documents.Add
'Путь можно узнать, записав код с помощью макрорекордера.
ПутьАвтотекста = "C:\Documents and Settings\Пользователь\Application Data\Microsoft\Document Building Blocks\1049\14\Built-In Building Blocks.dotx"
Set Автотекст = Ворд.Documents.Open(Filename:=ПутьА втотекста, Visible:=False)
Ворд.Templates(ПутьАвтотекста).Buil dingBlockEntries("Простой номер 2").Insert _
Where:=Документ.Sections(1).Headers (wdHeaderFooterPrimary).Range, RichText:=True
Автотекст.Close SaveChanges:=wdDoNotSaveChanges

End Sub

-----------------------------------------------------------------

полному пути?
Posted by Chas under Visual Basic, Пост-обзор
а если там шаблон будет не найден, то открывать его в одной папке где сам файл excel?
EducatedFool

Sub test()

Set oWord = CreateObject("Word.Application")

Filename$ = "Т3.dot"

If Dir("C:\моя папка\" & Filename$) <> "" Then Set oDoc = oWord.Documents.Add("C:\моя папка\" & Filename$)

If Dir(ThisWorkbook.Path & Filename$) <> "" Then Set oDoc = oWord.Documents.Add(ThisWorkbook.Pa th & "\" & Filename$)

If oDoc Is Nothing Then MsgBox "Файл " & Filename$ & " не найден!", vbCritical, "Нет шаблона": Exit Sub

' продолжаем работу с объектом oDoc
--------------------------------------------------------------------------

Sub OpenDocument()

Ваши желания
End Sub

'AutoOpen - при открытии существующего документа
---------------------------------------------------------


Sub FillingWordFile()
Dim WD
Dim XL As Excel.Application
Set WD = CreateObject("Word.Application")
WD.Visible = True
WD.Documents.Open Filename:=Application.ThisWorkbook. Path & "\название файла.doc"

Range("адрес ячейки").Copy
WD.ActiveDocument.Bookmarks.Item("н азвание закладки").Range.Paste

End Sub
-----------------------------------------------------------------
Из всего этого выбираю такой код….открытия документа Ворд из Ехеля…но ничего не открывается …в чем может быть причина?
Sub МакросОткрытияДокуиента()
'
' МакросОткрытияДокуиента
'Dim AppWord As Word.Application

Set AppWord = CreateObject("Word.Application")
AppWord.Visible = True
AutoOpen = " C:\Documents and Settings\т\Мои документы\ Макрос переноса 1 строки.docx"
AppWord.Documents.Add
End Sub
--------------------------------------------------------------------
и этот вариант пробую … но ничего не открывается…
Sub Макрос ОТКРЫТИЯшаблона()

Set oWord = CreateObject("Word.Application")

Filename$ = "шаблон.dot"

If Dir("C:\ Documents and Settings\т\Рабочий стол\КОНДУИТ \" & Filename$) <> "" Then Set oDoc = oWord.Documents.Add("C:\ Documents and Settings\т\Рабочий стол\КОНДУИТ \" & Filename$)

If Dir(ThisWorkbook.Path & Filename$) <> "" Then Set oDoc = oWord.Documents.Add(ThisWorkbook.Pa th & "\" & Filename$)

If oDoc Is Nothing Then MsgBox "Файл " & Filename$ & " не найден!", vbCritical, "Нет шаблона": Exit Sub
maykkk вне форума Ответить с цитированием
Старый 16.01.2012, 20:19   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Вопрос покажется "надоевшим"...
с Вами не поспоришь...
Цитата:
но ничего не работает …не открывает
а вот с этим утвердением вполне...
берем первый из приведенных примеров:
Код:
Sub Открыть_документ_Word()
Dim WD
Set WD = CreateObject("Word.Application")
WD.Visible = True
WD.Documents.Open Filename:=Application.ThisWorkbook. Path & "\1.doc"
End Sub
1. создаете новую книгу ексель
2. в любой молуль этой книги копируете приведенный выше пример
3. сохраняете книгу с каким-нибудь именем (запомните, а лучше запишите куда Вы ее сохранили).
4. открываете Word, новый документ, пишите БОЛЬШОЙ ПРИВЕТ!!! красивыми церковно-словянскими литерами.
5. сохраните документ как 1.doc в туже папку, куда сохранили книгу ексель в п.3.
6. закройте Word.
7. запустите на выполнение макрос Открыть_документ_Word.

как видимость? "БОЛЬШОЙ ПРИВЕТ" читается?

удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.01.2012, 13:23   #3
maykkk
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 13
По умолчанию Вопрос покажется "надоевшим"...но он не решается...

Спасибо за ответ….На рабочем столе создаю новую папку….в ней документ Ворда(с ПРИВЕТОМ) и документ новый Ехеля..записываю в нем макрос(вставляю в один из модулейVBA) .Все и вся закрываю… открываю по новой… док Ехеля…макрос открытия док Ворд…открывается «контур»документа Ворда(без белого поля куда заносится текст)+высвечивается ошибка
Error…5174. Фаил не найден (C:\Doc …and Sitting…\....\1.doc(пробовал в настройки и там в сохранении перенастроил на сохранение документов в формате …docx..переписываю в макросе на …docx …пытаюсь открыть такой вариант….таже история …документ не найден и после нажатия на Debyrg…высвечивается…выделенная желтым …строка ..макроса…
WD.Documents.Open Filename:=Application.ThisWorkbook. Path & "\1.docx"…Наверно в моем компе что то с настройками? Все настройки и Ворда и Ехеля перерыл…все как обычно…,а макрос не срабатывает… У меня срабатывает один макрос…
Sub МакросПереносаВСЕХ300строкОБЬЯВЛЕНИ Й()
'
' Макрос300 Макрос
'Dim AppWord As Word.Application

Set AppWord = CreateObject("Word.Application")
AppWord.Visible = True

AppWord.Documents.Add

Range("A1:A300").Copy 'Копируем и вставляем заголовок с листа
AppWord.Selection.Paste

For i = 6 To 36 ' Цикл по строкам до 36-ой строки

If Cells(i, 16) = True Then '16 столбец - столбец, в котором привязаны флажки и ячейки(см. вложение)


Cells(i, 1).Copy ' копируем ячейку и вставляем
AppWord.Selection.Paste


End If

Next

Application.CutCopyMode = False
Set AppWord = Nothing



'
End Sub
Но он открывает НОВый документ(при переносе данных из Ехеля в Верд),а мне нужен…уже используемый…сколько не бьюсь …глухая стена.Может Вам удастся увидеть …почему один срабатывает ,а другой макрос….пыжится ..,а до конца открыть ему не удается???.
maykkk вне форума Ответить с цитированием
Старый 17.01.2012, 13:59   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Попытаемся понять: VBA Excel не находит файл или Word не может его открыть?
В VBE Excel: Ctrl+G (окно Immediate), введите команду
Код:
?dir(Application.ThisWorkbook.Path & "\1.doc")
, Enter. Получилось 1.doc в новой строке? Если нет, попробуйте
Код:
?dir(Application.ThisWorkbook.Path & "\*.doc*")
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 17.01.2012, 13:59   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

однако...
в какую папку сложить файлы - роли не играет. должно бы работать. на какой строке ошибка? открытие документа или еще при открытии Word?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 17.01.2012 в 14:23.
IgorGO вне форума Ответить с цитированием
Старый 17.01.2012, 14:09   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
На рабочем столе создаю новую папку….в ней документ Ворда(с ПРИВЕТОМ) и документ новый Ехеля..записываю в нем макрос(вставляю в один из модулейVBA) .Все и вся закрываю…
Если вы это делаете кодом,а не руками,то надо сначала сохранить файл Excel получить его путь сохранения,и только потом сохранить Ворд.
Если можно-весь код в студию,который отвечает за создание и сохранение файлов.
Чудес не бывает
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 17.01.2012, 14:32   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Сережа, код простой:
Код:
Sub Открыть_документ_Word()
Dim WD
Set WD = CreateObject("Word.Application")
WD.Visible = True
WD.Documents.Open Filename:=Application.ThisWorkbook. Path & "\1.doc"
End Sub
возможные проблемы:
1. в системе нет Word
2. в определенной папке нет файла 1.doc
Я ничего другого придумать не могу.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.01.2012, 15:20   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Игорь.
А файл ворд в папке реально при сохранении есть,или он сохранился в папке Мои документы
Других проблем быть не может.
Кода полного нет.
Мне лень писать макрос для демонстрации создания,сохранения и открытия ворда
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 17.01.2012, 15:37   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

у меня-то все нормально,
не могу понять, что может не получиться у maykkk на 4-х строках кода???
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.01.2012, 16:36   #10
maykkk
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 13
По умолчанию Вопрос покажется "надоевшим"...но он не решается...

Еще раз здравствуйте…все работы выполняю в ручном режиме.Оба мои док. лежат в отдельной папке …Новая папка …на Рабочем столе.Есель сохраняет документы в ..документы с ПОДДЕРЖКОЙ МАКРОСОВ.,а ВОРД в…docx…
Делаю первое ,что Вы сказали..открываю свой док Екселя…открываю VBA …открываю макрос ОТКРЫТИЯ..и в нем нажимаю CTRL+G…в открывшееся окошко вставляю первый код?dir(Application.ThisWorkbook.Pa th & "\1.doc")
…ВВОД…курсор просто перескакивает на строчку вниз…
Ввожу код?dir(Application.ThisWorkbook.Pa th & "\*.doc*")
Ввод…таже история…ничего нет…один курсор и пустота
Меняю \1.doc на 1.docx(в макросе ОТКРЫТИЯ документов)…закрываю документ…полностью
Опять открываю документ Екселя…VBA…ввожу обе строки…пропускаю через Ввод…пустота.

При очередной попытке выполнить макрос…в очередной раз выдается ERROR…Фаил не найден…1. doc…и…..1..docx

Какая то из программ указанный документ не видит.Зато новый документ Ворд создается запросто.(переношу строки Ехел документа в ВОрд…легко…вырезать номера телефонов из текста Екселевской таблицы…запросто…и в новый документ Ворда…да набегом…..открыть существующий документ ..хоть ты тресни….ни в какую.
maykkk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04