Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Связать word с открытым файлом excel по названию - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Связать word с открытым файлом excel по названию (Word)
Связать word с открытым файлом excel по названию
Zet_iks Дата: Четверг, 26.05.2016, 10:43 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 40% ±

MS 2010
Доброго времени суток, уважаемые форумчане!

В просторах интернета решения своего вопрса найти не могу.
Вопрос такой. Есть файл excel и файл word. Макрос из excel обрабатывает информацию и переносит данные в word. В файле word также есть макрос. Он связывается с книгой excel, берет информацию из определенных ячеек и сохраняет файл word в формате pdf под именем которое формируется из полученнных данных из excel . Макросы работают отлично, но в коде word необходимо прописывать полный путь к файлу excel. Эти файлы часто переносят с компьютера на компьютер и каждый раз прописывать пути не удобно. Подскажите пожалуйста, возможно ли обратиться макросом из word к файлу excel, зная имя таблицы. Расположение файлов может быть разное.
Методом getobject ("файл.xlsm") не получается. Макрос не видит файл excel.
Заранее большое спасибо за помощь!
 
Ответить
СообщениеДоброго времени суток, уважаемые форумчане!

В просторах интернета решения своего вопрса найти не могу.
Вопрос такой. Есть файл excel и файл word. Макрос из excel обрабатывает информацию и переносит данные в word. В файле word также есть макрос. Он связывается с книгой excel, берет информацию из определенных ячеек и сохраняет файл word в формате pdf под именем которое формируется из полученнных данных из excel . Макросы работают отлично, но в коде word необходимо прописывать полный путь к файлу excel. Эти файлы часто переносят с компьютера на компьютер и каждый раз прописывать пути не удобно. Подскажите пожалуйста, возможно ли обратиться макросом из word к файлу excel, зная имя таблицы. Расположение файлов может быть разное.
Методом getobject ("файл.xlsm") не получается. Макрос не видит файл excel.
Заранее большое спасибо за помощь!

Автор - Zet_iks
Дата добавления - 26.05.2016 в 10:43
Manyasha Дата: Четверг, 26.05.2016, 11:57 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1817
Репутация: 751 ±
Замечаний: 0% ±

Excel 2007, 2010
Zet_iks, здравствуйте, посмотрите примеры по ссылке: http://www.excelworld.ru/board....-1-0-53


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеZet_iks, здравствуйте, посмотрите примеры по ссылке: http://www.excelworld.ru/board....-1-0-53

Автор - Manyasha
Дата добавления - 26.05.2016 в 11:57
anvg Дата: Четверг, 26.05.2016, 11:59 | Сообщение № 3
Группа: Друзья
Ранг: Обитатель
Сообщений: 303
Репутация: 160 ±
Замечаний: 0% ±

2010, 2016
Доброе время суток
Если относительный путь от файла Word до файла Excel фиксированный, то проблем не вижу.
Получаете через ThisDocument.Path путь к документу Word и выстраиваете путь к документу Excel.
Если они всегда лежат в одной папке, то вообще нет проблем ThisDocument.Path & "\myexcel.xlsx".
Лежит в подпапке ниже ThisDocument.Path & "\ExcelFolder\myexcel.xlsx"
Успехов.
 
Ответить
СообщениеДоброе время суток
Если относительный путь от файла Word до файла Excel фиксированный, то проблем не вижу.
Получаете через ThisDocument.Path путь к документу Word и выстраиваете путь к документу Excel.
Если они всегда лежат в одной папке, то вообще нет проблем ThisDocument.Path & "\myexcel.xlsx".
Лежит в подпапке ниже ThisDocument.Path & "\ExcelFolder\myexcel.xlsx"
Успехов.

Автор - anvg
Дата добавления - 26.05.2016 в 11:59
Zet_iks Дата: Четверг, 26.05.2016, 13:57 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 40% ±

MS 2010
Manyasha, здравствуйте!
Спасибо за ответ, но Ваш вариант к сожалению не подходит. Суть макроса заключается в формировании сертификатов. В ыайле excel список людей, файл word это шаблон сертификата. Макрос формирует порядка 200-250 сертификатов и выбирать папку с файлом для каждого сертификата не подходит.
anvg, здравствуйте!
Макрос открывает не сам файл word, а запускает приложение word и открывает копию файла. В данном случае ThisDocument.Path возвращает папку "Мои докуманты", хотя файл лежит в другом месте.
К сожалению, сегодня нет возможности выложить файлы. Смогу только завтра для наглядности


Сообщение отредактировал Zet_iks - Четверг, 26.05.2016, 14:02
 
Ответить
СообщениеManyasha, здравствуйте!
Спасибо за ответ, но Ваш вариант к сожалению не подходит. Суть макроса заключается в формировании сертификатов. В ыайле excel список людей, файл word это шаблон сертификата. Макрос формирует порядка 200-250 сертификатов и выбирать папку с файлом для каждого сертификата не подходит.
anvg, здравствуйте!
Макрос открывает не сам файл word, а запускает приложение word и открывает копию файла. В данном случае ThisDocument.Path возвращает папку "Мои докуманты", хотя файл лежит в другом месте.
К сожалению, сегодня нет возможности выложить файлы. Смогу только завтра для наглядности

Автор - Zet_iks
Дата добавления - 26.05.2016 в 13:57
_Boroda_ Дата: Четверг, 26.05.2016, 14:10 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Дмитрий, а в сторону слияния не хотите посмотреть?
Вот описание
http://www.excelworld.ru/publ....1-0-127

А по поводу ссылки на файл - как-то же они у Вас связаны (WOrd и Excel)? Я имею в виду по взаимному расположению


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДмитрий, а в сторону слияния не хотите посмотреть?
Вот описание
http://www.excelworld.ru/publ....1-0-127

А по поводу ссылки на файл - как-то же они у Вас связаны (WOrd и Excel)? Я имею в виду по взаимному расположению

Автор - _Boroda_
Дата добавления - 26.05.2016 в 14:10
Zet_iks Дата: Четверг, 26.05.2016, 14:35 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 40% ±

MS 2010
_Boroda_, спасибо большое за тдею со слиянием. Завтра попробую и напишу результат.
По поводу взаимного расположения, они всегда лежат в одной папке. Ра положение папки и название самой папки может меняться. В excel с помощью ThisDocument.Path определяет расположение шаблона, т.к. они имеют один путь, но word не понимает этой команды. Или я что-то в коде нахимичил. Завтра выложу оба файла, чтобы можно было на примере рассмотреть
 
Ответить
Сообщение_Boroda_, спасибо большое за тдею со слиянием. Завтра попробую и напишу результат.
По поводу взаимного расположения, они всегда лежат в одной папке. Ра положение папки и название самой папки может меняться. В excel с помощью ThisDocument.Path определяет расположение шаблона, т.к. они имеют один путь, но word не понимает этой команды. Или я что-то в коде нахимичил. Завтра выложу оба файла, чтобы можно было на примере рассмотреть

Автор - Zet_iks
Дата добавления - 26.05.2016 в 14:35
_Boroda_ Дата: Четверг, 26.05.2016, 14:45 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А если не ThisDocument.Path, а ActiveDocument.Path? При этом файл, который с екселевским файлом лежит в одной папке, должен быть активным.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА если не ThisDocument.Path, а ActiveDocument.Path? При этом файл, который с екселевским файлом лежит в одной папке, должен быть активным.

Автор - _Boroda_
Дата добавления - 26.05.2016 в 14:45
Zet_iks Дата: Четверг, 26.05.2016, 15:34 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 40% ±

MS 2010
_Boroda_, при выполненнии макроса запускается не сам файл word, а копия этого файла. Он не сохранен. На сколько я помню, для несохраненных документов ActiveDocument.Path будет возвращать ""
 
Ответить
Сообщение_Boroda_, при выполненнии макроса запускается не сам файл word, а копия этого файла. Он не сохранен. На сколько я помню, для несохраненных документов ActiveDocument.Path будет возвращать ""

Автор - Zet_iks
Дата добавления - 26.05.2016 в 15:34
_Boroda_ Дата: Четверг, 26.05.2016, 15:41 | Сообщение № 9
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
при выполненнии макроса запускается не сам файл word, а копия этого файла

Ну наконец-то! А как она запускается? В коде должно быть прописано что-то типа
открыть копию файла, находящегося по пути ААА. Вот оттуда-то Вы берете этот путь ААА, отрезаете от него название файла и приклеиваете название файла Excel.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
при выполненнии макроса запускается не сам файл word, а копия этого файла

Ну наконец-то! А как она запускается? В коде должно быть прописано что-то типа
открыть копию файла, находящегося по пути ААА. Вот оттуда-то Вы берете этот путь ААА, отрезаете от него название файла и приклеиваете название файла Excel.

Автор - _Boroda_
Дата добавления - 26.05.2016 в 15:41
Zet_iks Дата: Четверг, 26.05.2016, 16:03 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 40% ±

MS 2010
Так вот я и спрашиваю, как мне это сделать? Допустим, в ходе выполнения макроса из excel мы присваиваем некой переменной путь к папке, где лежат оба файла. Но вопрос - как мне значение этой переменной перенести из макроса excel в макрос word?
 
Ответить
СообщениеТак вот я и спрашиваю, как мне это сделать? Допустим, в ходе выполнения макроса из excel мы присваиваем некой переменной путь к папке, где лежат оба файла. Но вопрос - как мне значение этой переменной перенести из макроса excel в макрос word?

Автор - Zet_iks
Дата добавления - 26.05.2016 в 16:03
Zet_iks Дата: Четверг, 26.05.2016, 16:07 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 40% ±

MS 2010
В моем случае макрос открывает файл word, переносит информацию из таблицы excel в этот файл word. Затем запускает макрос который находится в файле word. В этом макросе мне и нужно прописать путь к файлу excel.
 
Ответить
СообщениеВ моем случае макрос открывает файл word, переносит информацию из таблицы excel в этот файл word. Затем запускает макрос который находится в файле word. В этом макросе мне и нужно прописать путь к файлу excel.

Автор - Zet_iks
Дата добавления - 26.05.2016 в 16:07
_Boroda_ Дата: Четверг, 26.05.2016, 20:31 | Сообщение № 12
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Самый простой способ - записать нужное в ячейку на листе Excel, потом макросом из Ворда считать записанное и удалить (не обязательно)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСамый простой способ - записать нужное в ячейку на листе Excel, потом макросом из Ворда считать записанное и удалить (не обязательно)

Автор - _Boroda_
Дата добавления - 26.05.2016 в 20:31
RAN Дата: Четверг, 26.05.2016, 20:35 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4419
Репутация: 872 ±
Замечаний: 0% ±

2010
Самый простой - далать все из Excel. :)
[moder]Это да.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеСамый простой - далать все из Excel. :)
[moder]Это да.

Автор - RAN
Дата добавления - 26.05.2016 в 20:35
Zet_iks Дата: Суббота, 28.05.2016, 00:50 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 40% ±

MS 2010
Уважаемые форумчане!
Всем спасибо большое за ответы! Нашел, на мой взгляд, оптимальное решение своего вопроса. В этом посте прочитал как можно изменить код модуля макросом.
Теперь все работает так. В файле word есть модуль, в котором в местах где должен быть указан путь к файлу excel пустая строка. В файле excel добавил процедуру в которой формируется путь и процедурой
WordDoc.VBProject.VBComponents.Item("ThisDocument").CodeModule
.ReplaceLine 4, path_to_macros
Добавляется строка в модуль кода word. Все работает отлично.
Спасибо еще раз большое за оказанную помощь!
 
Ответить
СообщениеУважаемые форумчане!
Всем спасибо большое за ответы! Нашел, на мой взгляд, оптимальное решение своего вопроса. В этом посте прочитал как можно изменить код модуля макросом.
Теперь все работает так. В файле word есть модуль, в котором в местах где должен быть указан путь к файлу excel пустая строка. В файле excel добавил процедуру в которой формируется путь и процедурой
WordDoc.VBProject.VBComponents.Item("ThisDocument").CodeModule
.ReplaceLine 4, path_to_macros
Добавляется строка в модуль кода word. Все работает отлично.
Спасибо еще раз большое за оказанную помощь!

Автор - Zet_iks
Дата добавления - 28.05.2016 в 00:50
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Связать word с открытым файлом excel по названию (Word)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!