![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 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 |
![]() |
![]() |
![]() |
#2 | ||
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Цитата:
Цитата:
берем первый из приведенных примеров: Код:
2. в любой молуль этой книги копируете приведенный выше пример 3. сохраняете книгу с каким-нибудь именем (запомните, а лучше запишите куда Вы ее сохранили). 4. открываете Word, новый документ, пишите БОЛЬШОЙ ПРИВЕТ!!! красивыми церковно-словянскими литерами. 5. сохраните документ как 1.doc в туже папку, куда сохранили книгу ексель в п.3. 6. закройте Word. 7. запустите на выполнение макрос Открыть_документ_Word. как видимость? "БОЛЬШОЙ ПРИВЕТ" читается? удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
||
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 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 Но он открывает НОВый документ(при переносе данных из Ехеля в Верд),а мне нужен…уже используемый…сколько не бьюсь …глухая стена.Может Вам удастся увидеть …почему один срабатывает ,а другой макрос….пыжится ..,а до конца открыть ему не удается???. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Попытаемся понять: VBA Excel не находит файл или Word не может его открыть?
В VBE Excel: Ctrl+G (окно Immediate), введите команду Код:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
однако...
в какую папку сложить файлы - роли не играет. должно бы работать. на какой строке ошибка? открытие документа или еще при открытии Word?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 17.01.2012 в 14:23. |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]() Цитата:
Если можно-весь код в студию,который отвечает за создание и сохранение файлов. Чудес не бывает
Анализ,обработка данных Недорого
|
|
![]() |
![]() |
![]() |
#7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
Сережа, код простой:
Код:
1. в системе нет Word 2. в определенной папке нет файла 1.doc Я ничего другого придумать не могу.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Игорь.
А файл ворд в папке реально при сохранении есть,или он сохранился в папке Мои документы Других проблем быть не может. Кода полного нет. Мне лень писать макрос для демонстрации создания,сохранения и открытия ворда
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#9 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
у меня-то все нормально,
не могу понять, что может не получиться у maykkk на 4-х строках кода???
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 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 Какая то из программ указанный документ не видит.Зато новый документ Ворд создается запросто.(переношу строки Ехел документа в ВОрд…легко…вырезать номера телефонов из текста Екселевской таблицы…запросто…и в новый документ Ворда…да набегом…..открыть существующий документ ..хоть ты тресни….ни в какую. |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. | воваава | Помощь студентам | 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 |