Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как войти в объект "надпись" MS Word?
 
 автор: Мария   (25.04.2012 в 14:23)   личное сообщение
 
 

Помогите, пожалуйста, решить проблему. Вывожу данные в документ Word. В шаблоне документа расставлены закладки. Я не могу обратиться к тем из них, которые расположены внутри объекта "надпись". Пыталась записать макрос с нужной последовательностью действий, но в режиме записи макроса мне не удалось даже войти в "надпись" с помощью мыши, а как это сделать клавишами или через меню, я не знаю (аналогичная проблема с колонтитулами была решена благодаря возможности войти в них через меню - записался нужный макрос).

  Ответить  
 
 автор: shanemac51   (25.04.2012 в 15:42)   личное сообщение
 
 

а по-подробней нельзя

--есть таблица
--что-то ввели
--есть ворд с закладками
--не можете из модуля влезь к закладкам

--------------------
или я не так поняла ситуацию

  Ответить  
 
 автор: Мария   (25.04.2012 в 15:55)   личное сообщение
 
 

Попробую рассказать подробней: Из модуля Access (2003) обращаюсь к закладкам в документе Word. Часть закладок расположена внутри объекта "надпись". При попытке обратиться к ним обычным образом (...GoTo What:=wdGoToBookmark, Name:="ИмяЗакладки") возникает ошибка с сообщением, что закладка не существует. К закладкам, расположенным в основном тексте документа, обращение происходит без проблем.

  Ответить  
 
 автор: shanemac51   (25.04.2012 в 15:56)   личное сообщение
 
 

а зачем нужна надпись

  Ответить  
 
 автор: Мария   (25.04.2012 в 15:59)   личное сообщение
 
 

Она является частью формируемого документа и в нее нужно вывести часть данных.

  Ответить  
 
 автор: Гоблин   (25.04.2012 в 20:11)   личное сообщение
 
 

Химичите с переводом в ворд. Как писать код подглядываете в макросах, типа как они справляются. А надпись при этом недоступна.
Вариант первый - заменить надпись на таблицу с одной ячейкой
Вариант второй - обойтись без надписи методом форматирования документа соответствующим образом (разрыв раздела на странице и далее многоколоночный текст, и далее ограничение с левой и правой сторон документа) или вовсе разорвать надпись на 2-3 штуки и в нужных местах добвлять простой текст. В монтаже получится что надо.
Вариант три - все необходимое формировать в отчете и выводить в ворд.

  Ответить  
 
 автор: Мария   (25.04.2012 в 20:48)   личное сообщение
 
 

Спасибо за советы!
Да, так и делаю - пользуюсь записью макроса, если не знаю, как решить задачу. Вам это показалось странным?
Вариант с таблицей у меня не получился: мне нужно наложить текст на рисунок - эмблему учреждения (текста немного - текущий год и наименование подразделения). Сам рисунок уже помещен в ячейку таблицы, чтобы добиться нужного расположения его на листе. Надпись может встать поверх рисунка, а таблица - нет (или я не нашла такой возможности).
Формировать в отчете сложный многостраничный документ с таблицами - значит полностью закрыть для пользователей возможность редактирования результата. Например, невозможно (или я не знаю как) передать в Word отчет с сохранением таблиц.
Вариант 2 возможен, но в моем случае очень сложно реализуем. Если рисунок будет "плавающим" и размещен за текстом, он может смещаться в результате вывода других текстовых данных, что крайне нежелательно.
Неужели никак нельзя добраться до моих закладок? Проблема именно в обращении к объекту: при возникновении ошибки и остановке программы можно переключиться на документ Word, войти в надпись и продолжить выполнение программы - все отрабатывается без ошибок до конца.

  Ответить  
 
 автор: shanemac51   (25.04.2012 в 21:13)   личное сообщение
 
 

вы бы лучше шаблон ворда выложили, зряче-то лучше думается

реальные названия можно заменить на ооо рога и копыта и котенка вместо эмблемы

  Ответить  
 
 автор: Гоблин   (25.04.2012 в 22:35)   личное сообщение
 
 

С удовольствием глянул бы на решение проблемы рисунка в ворде из акса. Однако может быть в рисунок заранее запихать в колонтитул, а надписи в нужных места делать уже как в обычном документе. Прыгая по закладкам. Хотя... Если каждый раз рисунок разный, то наверное придется делать разные шаблоны, или хранить коллекцию рисунков в отдельном месте, подбрасывая их кодом в нужные места ворда.

  Ответить  
 
 автор: snipe   (26.04.2012 в 05:57)   личное сообщение
 
 

вы рисунок "за текстом" поместите
тогда все доступно будет
(ИМХО - я бы в аксе сделал либо в excel)

  Ответить  
 
 автор: Мария   (26.04.2012 в 10:47)   личное сообщение
 
 

Была такая идея. Сложность для меня в том, что рисунок должен быть четко в определенном месте, а выше, слева, ниже и поверх него выводятся текстовые данные, размер которых меняется. Чтобы рисунок не смещался, я создала таблицу и поместила его в одну из ячеек. А в таком виде его нельзя разместить за текстом.

  Ответить  
 
 автор: АлексейЕ   (26.04.2012 в 09:43)   личное сообщение
 
 

Создал надпись.
Вставил в нее закладку "ЗакладкаВНадписи".
Выполнил код

 ActiveDocument.Bookmarks("ЗакладкаВНадписи").Range.InsertBefore ("Добавим текст в закладк")

Текст появился в закладке.

  Ответить  
 
 автор: Мария   (26.04.2012 в 10:44)   личное сообщение
 
 

У меня такой код работает только, если курсор находится внутри надписи. Если курсор в основном тексте то возникает ошибка. Более того, если при нахождении курсора в основном тексте вызвать меню Вставка-Закладка, то закладки из надписи в списке будут, а кнопка "Перейти" для них неактивна.

  Ответить  
 
 автор: АлексейЕ   (26.04.2012 в 14:33)   личное сообщение
 
 


при нахождении курсора в основном тексте вызвать меню Вставка-Закладка, то закладки из надписи в списке будут, а кнопка "Перейти" для них неактивна


Тоже самое, но код у меня выполнятся в любом случае.
Хотя бы напишите что за ошибка, и в этой ли строке кода, или может совсем в другом месте?

  Ответить  
 
 автор: АлексейЕ   (26.04.2012 в 14:45)   личное сообщение
34 Кб.
 
 

Вот файл который у меня работает. Попробуйте запустить у себя.

  Ответить  
 
 автор: Мария   (26.04.2012 в 15:43)   личное сообщение
 
 

Алексей, большое спасибо! Благодаря Вам я разобралась со своим фрагментом. Оказалось, что в данном случае важно, как именно выводить текст. У меня сначала вызывался метод перехода на закладку GoTo, который вызывал ошибку с сообщением, что закладка не существует. Вы мне показали, что не обязательно сначала переходить на закладку, а потом выводить данные. Теперь у меня все работает.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList