|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - [решено] Помогите пожалуйста написать макросс для Word |
|
VBA - [решено] Помогите пожалуйста написать макросс для Word
|
Новый участник Сообщения: 22 |
Профиль | Отправить PM | Цитировать
Здравствуйте.
Помогите пожалуйста решить задачку. Дело вот в чем: Имеем *.doc или *.docx файл. В нем находится текст. Текст разделен на абзацы. Есть программа, которая может выделять текст по абзацам: выделила абзац, через некоторое время сняла выделение и выделила следующий, потом опять сняла и так пока документ не закончится. Программа внешняя. Так вот задача в чем: нужно, чтобы после того как было снято выделение с первого абзаца появлялось окно в котором бы показывалась картинка. Картинка любая. Картинку можно выбрать заранее. Все картинки лежат где-нибудь в папке(или где-нибудь еще) и вызываются по порядку. То есть примерно такой алгоритм: выделился абзац---снялось выделение(появилось окно, в окне появилась картинка)---выделился следующий абзац---снялось выделение(в окне появилась другая картинка)---выделился третий абзац---снялось выделение(в окне появилась следующая картинка) Помогите пожалуйста с кодом. если не трудно. |
|
Отправлено: 07:14, 07-05-2011 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Предлагаю сделать так: внешний скрипт заменяет программу, которая выделяет абзацы.
Он открывает doc-файл и надеется что он окажется вордовским (точно знает только система). Затем выделяет пресловутые абзацы и вызывает внешнее приложение для показа картинок, например mspaint. Но можно любой браузер. // набросок скрипта (не проверен, только демонстрирует идею) var doc = WScript.GetObject("my_doc.doc", "Word.Document"), shell = WScirpt.CreateObject("WScript.Shell"); doc.application.visible = true; for(var i=1; i<=doc.paragraph.count; ++i) // надо бы подумать над условием { doc.selection.range = doc.paragraph.item(i); WScript.Sleep(5000); doc.selection.range.clear(); shell.run("mspaint " + i + ".jpg"); } Можно открывать картинку при помощи GetObject, но возвращаемый объект будет определяться системой (точнее классом, под которым эта картинка зарегистрирована). В зависимости от настроек системы, может оказаться так, что откроется фотошоп (что ИМХО не подходящее средство просмотра). Ещё можно просить системы "показать", "распечатать", "редактировать", что вроде бы и гибкое, и предсказуемое решение. Если по пути найду как это сделать из скрипта - напишу. |
Отправлено: 13:11, 07-05-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата pva:
Цитата pva:
|
||
Отправлено: 17:13, 07-05-2011 | #3 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать у меня сейчас word 2010 под руками нет. Но ЕМНИП в нем можно записывать действия, что очень здорово облегает написание макроса.
Т.е. берем документ, открывает макросы, говорим "начать запись", выполняем ряд действий, говорим "прекратить запись" и получаем почти готовый шаблон. Чуть его подправить, и дело в шляпе. Цитата Vovchik1900:
Если так, то внимательно скуриваем документацию |
|
------- Отправлено: 22:00, 07-05-2011 | #4 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать pva,
Цитата pva:
Цитата pva:
Цитата pva:
lxa85, Цитата lxa85:
Цитата lxa85:
|
||||||
Последний раз редактировалось Vovchik1900, 08-05-2011 в 07:09. Отправлено: 06:59, 08-05-2011 | #5 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать ЕМНИП - Если Мне Не Изменяет Память
Цитата Vovchik1900:
|
|
Отправлено: 09:34, 08-05-2011 | #6 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать lxa85,
Там вроде dll файл. Вы о нем? |
Последний раз редактировалось Vovchik1900, 08-05-2011 в 12:56. Отправлено: 12:41, 08-05-2011 | #7 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Вот он.
|
Отправлено: 07:52, 09-05-2011 | #8 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Вот оно, о чём я говорил:
Только не знаю, как закрыть потом окошки. |
Отправлено: 21:33, 10-05-2011 | #9 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать ВСЕМ БОООЛЬШОЕ СПАСИБО!!!!!
|
Отправлено: 17:31, 11-05-2011 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как написать Декларацию Независимости с помощью Word 2010 | OSZone News | Новости и события Microsoft | 0 | 09-12-2010 16:30 | |
Разное - [решено] Как открыть ссылку из WORD | dodo110 | Microsoft Office (Word, Excel, Outlook и т.д.) | 5 | 16-06-2010 15:38 | |
Ошибка - Как добавить ярлык программы в меню Открыть с помощью? | Oleg-Sever | Microsoft Windows 2000/XP | 4 | 10-12-2008 22:58 | |
Как почистить меню ОТКРЫТЬ С ПОМОЩЬЮ в вин98??? | Andr | Microsoft Windows 95/98/Me (архив) | 8 | 05-04-2004 09:50 | |
Как открыть базу Sybase с помощью Access? | babubudu | Программирование и базы данных | 2 | 10-10-2003 12:05 |
|