Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Word VBA

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Открыть новую тему     Написать ответ в эту тему

exMIB



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
 
Обсуждаем вопросы только по Word VBA
(программирование макросов, скриптов, пользовательских функций и т.п.).
Приветствуются ссылки на ресурсы и справочную литературу по теме.
 
Вопросы по работе с MS Word, не относящиеся к программированию, задаем в теме Microsoft Word

 
Обратите внимание, этот топик для помощи в изучении и использовании VBA. Посему запросы типа "Напишите мне такой-то макрос, я VBA не знаю и знать не хочу" не приветствуются.
Древняя мудрость: "Накорми голодного рыбой и он погибнет, научи его ловить рыбу и ты спасешь его."(R)
 
Рекомендации:
Если у Вас есть проблема, не решаемая стандартными средствами Word (об этом можно уточнить здесь) или требующая автоматизации, попробуйте для начала записать макрос самим Word (на вкладке Разработчик - Запись Макросов). Подробнее здесь. В большинстве случаев получившийся код (Разработчик-Макросы-Макрос-Изменить или Разработчик-Visual Basic) Вас не удовлетворит, но подскажет, какие объекты-методы-свойства использовать.  
Другой Ваш помощник - Просмотр объектов (Object Browser). Ну и встроенная помощь (F1), естественно.
 
Если Вы в тупике, покажите Ваш код (или часть кода) здесь.  Если вылезает ошибка, цитируйте ее полностью. Если код слишком большой, используйте тeг [more].
Используйте отладчик - Breakpoints (F9), Watches (Shift-F9), Steps (F8 и др.) Сильно облегчает поиск ошибок.

 
Рекомендуется к прочтению:
  • Начало работы с VBA в Word 2010
  • Microsoft Visual Basic for Application. Осетрова И.С., Осипов Н. А. Учебное пособие (руководство по программированию на VBA в MS Office)  
  • Введение в VBA для приложений MS OFFICE
  • Word и его объекты. Лекция из курса «Основы офисного программирования и документы Word»
  • WinApi. Лекция из курса "Основы офисного программирования и язык VBA" (для продвинутых)
  • Справка по VBA
  • Microsoft Word Visual Basic Reference - руководство по VBA (eng.)
  • Справочник по Word VBA
  • Блог Александра Гуревича  - тематический блог: советы по работе с Word и Excel и прочие материалы
  • Форум по VBA, Excel и Word Макросы в Word -тематический форум, готовые решения
  • Список полезной литературы по Word и программированию на VBA
  • Подборка решений на VBA для Word  
     
     
  • Excel VBA все вопросы по Excel VBA туда
  • Access все вопросы по программированию в Access туда
  • Книжульки по VBA - книги по программированию с использованием VBA
     
    Конкретные вопросы/готовые решения:
  • функция возвращает список закладок в документ
     
    Перечень основных ColorIndex'ов из MSDN
     
    - стартовый вопрос топика...

    Смежные темы:
    Программы » Microsoft Office 2019 & 365 | 2016 | 2013 | 2010 | 2007 | 2003
    Программы » OneNote | Outlook 2013 & 2016 & 2019 | Outlook 2010 | Microsoft Mathematics & Math Solver
    Программы » Word FAQ | Excel FAQ | Access FAQ
    Прикладное программирование » Excel VBA | Access VBA  
    Андеграунд » Microsoft Office 2019 | 2016 | 2013 | 2010 | 2007 | 2003
    Андеграунд » OneNote | Visio | SharePoint Server | Project Server | Exchange Server
    Андеграунд » Надстройки (add-ins) и коммерческие макросы Excel
    Андеграунд » Самостоятельная сборка дистрибутивов Оffice 2007/2010/2013/2016 | MUI для Office 2007

  • Всего записей: 3300 | Зарегистр. 27-09-2001 | Отправлено: 03:05 01-06-2005 | Исправлено: ALeXkRU, 17:10 03-08-2021
    smirnvlad

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sashko1980
     
    в первом поле исправил значения на коды, по ним и будет "синхронизация", т.е. Смирнов С.С = 1003
    Подробнее...
     
    новый example1.docm

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 20:54 26-04-2011 | Исправлено: smirnvlad, 21:01 26-04-2011
    sashko1980



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    smirnvlad
    Спасибо огромное, буду разбираться с кодом.  
     
    Если не трудно, то прошу помочь с кодом для такой задачи: есть 2 элемента управления содержимым типа "выбор даты". Первый называется "дата регистрации", второй - "дата рождения". Далее есть третий элемент управления типа "текст" называемый "возраст при регистрации". Нужно чтобы после заполнения первых двух полей автоматически вставлялся возраст в третье поле.
     
    Пример файла ниже.
    файл age.docx
     
    Естественно, что для любого человека с навыками программирования моя задача покажется смешной, но для меня как рядового пользователя изучать синтаксис VBA сложновато.

    Всего записей: 323 | Зарегистр. 01-03-2006 | Отправлено: 22:36 26-04-2011
    smirnvlad

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sashko1980
     
    сейчас считаются полные года, если надо неполные - надо удалить код между комментариями
    новый age.docm
     
    Подробнее...

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 10:37 27-04-2011
    Imanima

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
    Помогите пожалуйста решить задачку. Дело вот в чем:
    Имеем *.doc или *.docx файл. В нем находится текст. Текст разделен на абзацы. Есть программа, которая может выделять текст по абзацам: выделила абзац, через некоторое время сняла выделение и выделила следующий, потом опять сняла и так пока документ не закончится.  
     
    Так вот задача в чем: нужно, чтобы после того как было снято выделение с первого абзаца появлялось окно в котором бы показывалась картинка. Картинка любая. Картинку можно выбрать зарание. Все картинки лежат где-нибудь в папке(или гденьть еще) и вызываются по порядку.  
     
    То есть примерно такой алгоритм:
    выделился абзац---снялось выделение(в окне появилась картинка)---выделился следующий абзац---снялось выделение(в окне появилась другая картинка)---выделился третий абзац---снялось выделение(в окне появилась следующая картинка)
     
    помогите пожалуйста с кодом. если не трудно.

    Всего записей: 7 | Зарегистр. 29-01-2010 | Отправлено: 09:38 04-05-2011 | Исправлено: Imanima, 09:41 04-05-2011
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Imanima
    Так оно не трудно - такой примерно алгоритм
    в тот проект, где код добавляем форму, на ней размещаем объект Image
    Добавляем метод к форме, который будет вызываться кодом при смене выделения для вывода в Image.Picture = LoadPicture("d:\path\myimage.bmp").  
    В код смены выделений абзацев добавляем создание этой формы и вызов при смене выделения метода смены рисунка... И так далее....
    Что не выходит-то?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 11:23 04-05-2011
    Imanima

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AndVGri
    Вы наверное будете доолго смеяться. С программированием на VBA у меня никак. Ну не то чтобы совсем. Я недавно начал изучать. Можите код выложить?

    Всего записей: 7 | Зарегистр. 29-01-2010 | Отправлено: 18:09 04-05-2011 | Исправлено: Imanima, 03:37 05-05-2011
    Imanima

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну что? Никто не поможет?

    Всего записей: 7 | Зарегистр. 29-01-2010 | Отправлено: 06:37 08-05-2011
    smirnvlad

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Imanima

    Цитата:
    Ну что? Никто не поможет?

    а "Что не выходит-то?"
     
    Imanima
    поиском по теме можно было найти код который ищет файлы в папке, соединить со своим добавить AndVGri и всё получилось бы.
     
    Подробнее...

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 10:34 08-05-2011 | Исправлено: smirnvlad, 10:35 08-05-2011
    Imanima

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не получается написать программу так, как написано выше. Абзацы выделяет программа внешняя. Нужно в ворде просто учесть факт, что был выделен абзац и показать картинку. То что AndVGri, я не понял. Может покажете как надо?

    Всего записей: 7 | Зарегистр. 29-01-2010 | Отправлено: 19:39 08-05-2011
    biznesoft



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Вопрос следующий.
    Каждое воскресенье получаю файлы в формате *. doc (ворд) - 150-200 файлов.
    Нужно не открывая файлы вытянуть из каждого файла первый абзац и сохранить в новый документ ВОРД.
     
    Основное требование - быстрое выполнение этого задания.
     
    Все благодарю.

    Всего записей: 853 | Зарегистр. 31-03-2011 | Отправлено: 20:50 10-06-2011
    suomifinland



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята помогите...  
     
    Проблема такая, есть папка в которой более 50 файлов документов, размером от 300 Кб до 5 Мб в каждом файле есть одна и  таже фраза "Статья отнесена к разделу"
     
     
    Задача : Как сделать так чтобы одновременно, эта фраза, пакетно удалялась  из предложенных документов. Я в макросах не сильна, если не сказать ВООБЩЕ ...
     
    Если можно.., помогите ребята...
     
     
    P.S. Word 2007, Windows 7 максимальная...

    ----------
    Мы на горе всем буржуям, мировой пожар раздуем... А.Блок.

    Всего записей: 5259 | Зарегистр. 16-04-2006 | Отправлено: 22:58 11-06-2011
    IvANANvI

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    biznesoft
    Попытаюсь вам помочь. Сам не писал кода на VBS, взял готовый.  В нем смысл в создании чистого файла Word, последовательное открытие и закрытие всех файлов DOC (rtf) в текущем каталоге с выполнением макросов Word (VBA). Желательно, чтобы макросы VBA были уже сохранены в шаблоне ворда с теми же именами. Скрипт VBS и VBA файлы должны лежать в директории с файлами.
    На выходе открытый файл с 1-ми абзацами, друг за другом.
     
    Вот ссылка на файл: http://rghost.ru/10458571
     
     
    suomifinland Задача практически аналогичная, чуть переписать первый макрос ворд, под удаление постоянной строки. Второй VBA (PastePage.vba) закоментить. В VBS закоментить строки по созданию файла, а можно и не делать этого.

    Всего записей: 762 | Зарегистр. 29-11-2007 | Отправлено: 01:24 12-06-2011 | Исправлено: IvANANvI, 11:36 12-06-2011
    suomifinland



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Все было бы просто замечательно, если бы не одно.., НО, я совершенная профанка в программировании, хотя и не блондинка...

    ----------
    Мы на горе всем буржуям, мировой пожар раздуем... А.Блок.

    Всего записей: 5259 | Зарегистр. 16-04-2006 | Отправлено: 01:48 12-06-2011
    IvANANvI

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    suomifinland
    Для написания макросов Ворда, не нужно быть программистом, сделано специально для блондинок, две кнопки Плэй (начать запись) и Стоп (Закончить запись), далее делаешь во время записи все, что заблагорассудиться (последовательность повторяющихся действий). Я помогу если, что. В вашем случае, последовательность примерно такая - Ctrl+H (Найти заменить), в поле Найти пишем, что хотим найти (Статья отнесена к разделу), в поле Заменить на - ничего. И однократно нажать кнопку Заменить, если в документе эта фраза не нужна везде, то Заменить все. Все. Клавиша Стоп.

    Всего записей: 762 | Зарегистр. 29-11-2007 | Отправлено: 11:39 12-06-2011 | Исправлено: IvANANvI, 12:09 12-06-2011
    suomifinland



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я это знаю , но дело в том что мне нужно удалить фразу не в одиночном файле , а сделать это одновременно, пакетно в 50 файлах, фраза одна и та же... Вот как автоматом это сделать..? А так конечно, в двух трех файлах это сделать реально, но подумайте открыть 50 файлов.., а если их 2500... Вот о че я речь веду...

    ----------
    Мы на горе всем буржуям, мировой пожар раздуем... А.Блок.

    Всего записей: 5259 | Зарегистр. 16-04-2006 | Отправлено: 12:25 12-06-2011
    Alexey87

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите пожалуйста решить следующую задачку:
    есть строка, в ней может находиться информация следующего типа:
    к.т.н., доцент Кордик В.В.
    или
    ст. преподаватель, В.В. Кордик
    (причем с различным числом знаков препинаний (запятые, точки и др.), пробелов и различным положением инициалов).
    Как автоматизированным способом (например, используя макрос) из такой строки выдернуть инициалы и фамилию и вставить в определенное поле в формате "Фамилия И.О."?

    Всего записей: 659 | Зарегистр. 27-01-2008 | Отправлено: 21:07 12-06-2011
    IvANANvI

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    suomifinland
    Скрипт VBS, как раз для последовательного открытия всех файлов!

    Всего записей: 762 | Зарегистр. 29-11-2007 | Отправлено: 22:18 13-06-2011
    suomifinland



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята с Вашей помощью написала свой первый макрос.., да гениальное все просто...
    А вот теперь новая задача, "нутром чую" что так можно сделать...
     
     
    Проблема: ... есть работающий макрос, открываю текстовый файл и... запускаю его с помощью горячих клавиш, он все исправляет.., а можно ли сделать так, чтобы при открытии файла, макрос сам, автоматом запускался, и вносил изменения, самостоятельно, в вордовский файл..?  

    ----------
    Мы на горе всем буржуям, мировой пожар раздуем... А.Блок.

    Всего записей: 5259 | Зарегистр. 16-04-2006 | Отправлено: 22:32 13-06-2011
    IvANANvI

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    suomifinland
    Напишите имя вашего макроса, я подправлю под Вас скрипт.

    Всего записей: 762 | Зарегистр. 29-11-2007 | Отправлено: 16:19 14-06-2011
    biznesoft



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    IvANANvI
    Скрипт начинает обрабатывать файлы, открыв первый файл останавливается с ошибкой на строка 36
    Word.Application.Run("SelAbz")
     

    Всего записей: 853 | Зарегистр. 31-03-2011 | Отправлено: 13:14 19-06-2011 | Исправлено: biznesoft, 13:20 19-06-2011
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Word VBA


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru