В просторах интернета решения своего вопрса найти не могу. Вопрос такой. Есть файл 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
Доброе время суток Если относительный путь от файла 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
Manyasha, здравствуйте! Спасибо за ответ, но Ваш вариант к сожалению не подходит. Суть макроса заключается в формировании сертификатов. В ыайле excel список людей, файл word это шаблон сертификата. Макрос формирует порядка 200-250 сертификатов и выбирать папку с файлом для каждого сертификата не подходит. anvg, здравствуйте! Макрос открывает не сам файл word, а запускает приложение word и открывает копию файла. В данном случае ThisDocument.Path возвращает папку "Мои докуманты", хотя файл лежит в другом месте. К сожалению, сегодня нет возможности выложить файлы. Смогу только завтра для наглядности
Manyasha, здравствуйте! Спасибо за ответ, но Ваш вариант к сожалению не подходит. Суть макроса заключается в формировании сертификатов. В ыайле excel список людей, файл word это шаблон сертификата. Макрос формирует порядка 200-250 сертификатов и выбирать папку с файлом для каждого сертификата не подходит. anvg, здравствуйте! Макрос открывает не сам файл word, а запускает приложение word и открывает копию файла. В данном случае ThisDocument.Path возвращает папку "Мои докуманты", хотя файл лежит в другом месте. К сожалению, сегодня нет возможности выложить файлы. Смогу только завтра для наглядностиZet_iks
Сообщение отредактировал Zet_iks - Четверг, 26.05.2016, 14:02
_Boroda_, спасибо большое за тдею со слиянием. Завтра попробую и напишу результат. По поводу взаимного расположения, они всегда лежат в одной папке. Ра положение папки и название самой папки может меняться. В excel с помощью ThisDocument.Path определяет расположение шаблона, т.к. они имеют один путь, но word не понимает этой команды. Или я что-то в коде нахимичил. Завтра выложу оба файла, чтобы можно было на примере рассмотреть
_Boroda_, спасибо большое за тдею со слиянием. Завтра попробую и напишу результат. По поводу взаимного расположения, они всегда лежат в одной папке. Ра положение папки и название самой папки может меняться. В excel с помощью ThisDocument.Path определяет расположение шаблона, т.к. они имеют один путь, но word не понимает этой команды. Или я что-то в коде нахимичил. Завтра выложу оба файла, чтобы можно было на примере рассмотретьZet_iks
_Boroda_, при выполненнии макроса запускается не сам файл word, а копия этого файла. Он не сохранен. На сколько я помню, для несохраненных документов ActiveDocument.Path будет возвращать ""
_Boroda_, при выполненнии макроса запускается не сам файл word, а копия этого файла. Он не сохранен. На сколько я помню, для несохраненных документов ActiveDocument.Path будет возвращать ""Zet_iks
Так вот я и спрашиваю, как мне это сделать? Допустим, в ходе выполнения макроса из excel мы присваиваем некой переменной путь к папке, где лежат оба файла. Но вопрос - как мне значение этой переменной перенести из макроса excel в макрос word?
Так вот я и спрашиваю, как мне это сделать? Допустим, в ходе выполнения макроса из excel мы присваиваем некой переменной путь к папке, где лежат оба файла. Но вопрос - как мне значение этой переменной перенести из макроса excel в макрос word?Zet_iks
В моем случае макрос открывает файл word, переносит информацию из таблицы excel в этот файл word. Затем запускает макрос который находится в файле word. В этом макросе мне и нужно прописать путь к файлу excel.
В моем случае макрос открывает файл word, переносит информацию из таблицы excel в этот файл word. Затем запускает макрос который находится в файле word. В этом макросе мне и нужно прописать путь к файлу excel.Zet_iks
Уважаемые форумчане! Всем спасибо большое за ответы! Нашел, на мой взгляд, оптимальное решение своего вопроса. В этом посте прочитал как можно изменить код модуля макросом. Теперь все работает так. В файле 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