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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос данных из Excel в Word - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Перенос данных из Excel в Word
Benos Дата: Пятница, 11.09.2020, 23:15 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013 / 2016 / 365
Приветствую всех!
Написал макрос в Excel для заполнения шаблона Word.
Принцип простой (как и выше), два столбца: 1-метки (имена закладок), 2-й название поля, 3й - текст для подстановки.
По двойному клику в первой строке идет подстановка содержимого столбца.

И тут беда... в шаблоне информация повторяется... а двух закладок с одним именем не может быть.
Пробовал через перекрестные ссылки, но новом документе (заполненном) закладки удаляются и соответственно перекрестные ссылки не работают(или может я не правильно их создаю - первый раз с шаблонами в word пересекаюсь).
Почитал в сети, решения не увидел.
Везде простые формы (без повторения), либо каждому повторению присваивается новое имя закладки (мне такой вариант не очень подходит, так как закладок в каждой форме разное число, а "исполнительная таблица" планируется одна).

Пробовал так же через замену текста, но тогда слетает форма документа :(

В приложении набросал примерчик, если кто подскажет пути решения буду благодарен :)
К сообщению приложен файл: Desktop.7z (27.4 Kb)
 
Ответить
СообщениеПриветствую всех!
Написал макрос в Excel для заполнения шаблона Word.
Принцип простой (как и выше), два столбца: 1-метки (имена закладок), 2-й название поля, 3й - текст для подстановки.
По двойному клику в первой строке идет подстановка содержимого столбца.

И тут беда... в шаблоне информация повторяется... а двух закладок с одним именем не может быть.
Пробовал через перекрестные ссылки, но новом документе (заполненном) закладки удаляются и соответственно перекрестные ссылки не работают(или может я не правильно их создаю - первый раз с шаблонами в word пересекаюсь).
Почитал в сети, решения не увидел.
Везде простые формы (без повторения), либо каждому повторению присваивается новое имя закладки (мне такой вариант не очень подходит, так как закладок в каждой форме разное число, а "исполнительная таблица" планируется одна).

Пробовал так же через замену текста, но тогда слетает форма документа :(

В приложении набросал примерчик, если кто подскажет пути решения буду благодарен :)

Автор - Benos
Дата добавления - 11.09.2020 в 23:15
Pelena Дата: Суббота, 12.09.2020, 09:21 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19409
Репутация: 4558 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
но новом документе (заполненном) закладки удаляются
Когда-то использовала доп. процедуру, чтобы закладка оставалась
[vba]
Код
Sub UpdateBookmarks(ByVal NameOfBookmark As String, ByVal ContentOfBookmark As Variant)
    'процедура добавления содержимого к закладке. Необходима, чтобы после добавления содержимого закладка восстанавливалась для использования в перекрестных ссылках
    On Error Resume Next
    Dim rng As Object
    Dim bm As Object
    Set bm = WDoc.Bookmarks
    Set rng = bm(NameOfBookmark).Range
    rng.Text = ContentOfBookmark
    bm.Add NameOfBookmark, rng
End Sub
[/vba]
И добавила ещё в Ваш макрос строчку для обновления полей (перекрестных ссылок)
К сообщению приложен файл: 4483130.xlsm (18.9 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
но новом документе (заполненном) закладки удаляются
Когда-то использовала доп. процедуру, чтобы закладка оставалась
[vba]
Код
Sub UpdateBookmarks(ByVal NameOfBookmark As String, ByVal ContentOfBookmark As Variant)
    'процедура добавления содержимого к закладке. Необходима, чтобы после добавления содержимого закладка восстанавливалась для использования в перекрестных ссылках
    On Error Resume Next
    Dim rng As Object
    Dim bm As Object
    Set bm = WDoc.Bookmarks
    Set rng = bm(NameOfBookmark).Range
    rng.Text = ContentOfBookmark
    bm.Add NameOfBookmark, rng
End Sub
[/vba]
И добавила ещё в Ваш макрос строчку для обновления полей (перекрестных ссылок)

Автор - Pelena
Дата добавления - 12.09.2020 в 09:21
Benos Дата: Суббота, 12.09.2020, 10:57 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013 / 2016 / 365
Pelena, запустил код. Закладки и ссылки в шаблоне остались, но подстановки в шаблон не произошло. По коду даже вариантов где что можно поменять нет :)
Как я понял за подстановку отвечает [vba]
Код
    rng.Text = ContentOfBookmark
    bm.Add NameOfBookmark, rng
[/vba]
Но тут вроде все нормально
 
Ответить
СообщениеPelena, запустил код. Закладки и ссылки в шаблоне остались, но подстановки в шаблон не произошло. По коду даже вариантов где что можно поменять нет :)
Как я понял за подстановку отвечает [vba]
Код
    rng.Text = ContentOfBookmark
    bm.Add NameOfBookmark, rng
[/vba]
Но тут вроде все нормально

Автор - Benos
Дата добавления - 12.09.2020 в 10:57
Pelena Дата: Суббота, 12.09.2020, 11:10 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19409
Репутация: 4558 ±
Замечаний: ±

Excel 365 & Mac Excel
А, да, у меня там wd была описана как глобальная переменная.
Проверьте так
К сообщению приложен файл: 2510816.xlsm (19.2 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеА, да, у меня там wd была описана как глобальная переменная.
Проверьте так

Автор - Pelena
Дата добавления - 12.09.2020 в 11:10
Benos Дата: Суббота, 12.09.2020, 20:29 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013 / 2016 / 365
Pelena, да. Все сработало! Спасибо!
 
Ответить
СообщениеPelena, да. Все сработало! Спасибо!

Автор - Benos
Дата добавления - 12.09.2020 в 20:29
Benos Дата: Суббота, 12.09.2020, 20:36 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013 / 2016 / 365
Еще один, возможно, глупый вопрос...
При подстановке идет подстановка текста без учета формата текста в Excel. Т.е. если в Excel ячейка "Дата" и выбран шаблон "12 мая 2020 г.", а по факту в нее забит текст "12.05.2020"... то в шаблон подставляется "12.05.2020" , а не по форме Excel "12 мая 2020 г."
В принципе не важно, но мало ли есть какое-нибудь простое решение, о котором я не знаю :)
 
Ответить
СообщениеЕще один, возможно, глупый вопрос...
При подстановке идет подстановка текста без учета формата текста в Excel. Т.е. если в Excel ячейка "Дата" и выбран шаблон "12 мая 2020 г.", а по факту в нее забит текст "12.05.2020"... то в шаблон подставляется "12.05.2020" , а не по форме Excel "12 мая 2020 г."
В принципе не важно, но мало ли есть какое-нибудь простое решение, о котором я не знаю :)

Автор - Benos
Дата добавления - 12.09.2020 в 20:36
Pelena Дата: Суббота, 12.09.2020, 20:56 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19409
Репутация: 4558 ±
Замечаний: ±

Excel 365 & Mac Excel
Попробуйте вместо .Value использовать .Text в этой строчке
[vba]
Код
UpdateBookmarks iName, Cells(iRow, iCol).Text
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПопробуйте вместо .Value использовать .Text в этой строчке
[vba]
Код
UpdateBookmarks iName, Cells(iRow, iCol).Text
[/vba]

Автор - Pelena
Дата добавления - 12.09.2020 в 20:56
Benos Дата: Суббота, 12.09.2020, 21:19 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013 / 2016 / 365
Pelena, опять все получилось. Еще раз спасибо!
 
Ответить
СообщениеPelena, опять все получилось. Еще раз спасибо!

Автор - Benos
Дата добавления - 12.09.2020 в 21:19
  • Страница 1 из 1
  • 1
Поиск:

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