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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    zudmih

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    товарисчи выручайте.
     
    Application.PrintOut
    Application.quit(0)
     
    вот кратко код. Так вот не успевает отправить на печать подскажите как проверку сделать отправил ли он на печать илил хотябы как сделать таймер на 2-3 секунды перед закрытием.
     
    Добавлено:
    извиняйте что побеспокоил, методом научного тыка выяснил что если поставить background:=false у printout тогда quit срабатывает только после отправки на печать )

    Всего записей: 3 | Зарегистр. 06-07-2007 | Отправлено: 10:00 06-07-2007
    GOGACL

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

    Всего записей: 62 | Зарегистр. 20-10-2006 | Отправлено: 17:32 09-08-2007
    SERGE_BLIZNUK

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

    Цитата:
     огромном тексте (да в любом тексте) интервалы между строками  

    это можно сделать банальным поиском/заменой (используя постановочные знаки)

    Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 21:11 09-08-2007
    GOGACL

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SERGE_BLIZNUK
    Если это поможет, можно поподробней с этого места

    Всего записей: 62 | Зарегистр. 20-10-2006 | Отправлено: 14:38 10-08-2007
    SERGE_BLIZNUK

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GOGACL
    ответил Вам там, где положено в Microsoft WORD

    Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 15:34 10-08-2007 | Исправлено: SERGE_BLIZNUK, 15:36 10-08-2007
    GOGACL

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SERGE_BLIZNUK
    Спасибо работает, буду пользоваться

    Всего записей: 62 | Зарегистр. 20-10-2006 | Отправлено: 15:49 11-08-2007
    bornbill



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    народ есть в двух местах в документе, две одинаковые цифры, приведите пример как их увеличивать запуская макрос....
     
    Количество Распечаток: 600
     
    есть макрос который делает прибавляет 1 к 600 и получаем там 601....
    Как это оформить, не сталкивался с программированием в worde нет базиса.....

     
    Написал сам
    Вот что получилось

    Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 16:12 13-08-2007 | Исправлено: bornbill, 16:47 13-08-2007
    SERGE_BLIZNUK

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

    Цитата:
    есть макрос который делает прибавляет 1 к 600 и получаем там 601....  

    так уже есть? или вы собираетесь его писать?

    Цитата:
    Как это оформить

    самый главный вопрос - по какому событию Вы хотите выполнять ваш макрос?
    (самые распространнёные варианты - вызывать из меню Макросы - выполнить..,
    назначить макрос на кнопку/на сочетание клавиш,
    повесить макрос на событие, связанное с открытием/сохранением документа...)
     
    и ещё,

    Цитата:
    есть в двух местах в документе, две одинаковые цифры, приведите пример как их увеличивать запуская макрос

    а как Вы видите себе алгоритм? Вы вообще программист? Найти ВСЕ цифры в документе и сравнить их на одинаковость - задачка ещё та... (особенно по вычислительным затратам!) Имхо, конечно.

    Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 16:59 13-08-2007
    baston



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача: нужно изменять размер страницы с А4 на А5.
    Написал макрос с условием:

    Код:
     
    If ActiveDocument.PageSetup.PaperSize = wdPaperA5 Then
       ActiveDocument.PageSetup.PaperSize = wdPaperA4
    Else
       ActiveDocument.PageSetup.PaperSize = wdPaperA5
    End If
    Application.ScreenRefresh
     

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

    Всего записей: 39 | Зарегистр. 27-12-2005 | Отправлено: 11:45 15-08-2007 | Исправлено: baston, 11:46 15-08-2007
    vasiliy74



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

    Код:
    Private Sub CommandButton1_Click()
        Run Module1.Jump
    End Sub

    сам по себе макрос работает, в чём может быть проблема?

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 10:40 16-08-2007
    AlexeyID

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Попробуй полный путь т.е. к примеру project.Module1.Jump и run по-мойму это лишнее

    Всего записей: 72 | Зарегистр. 01-10-2005 | Отправлено: 09:41 17-08-2007
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    спасибо Run лишнее

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 14:26 21-08-2007
    august23



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет, делаю первые шаги в VBA а результат хочется сразу.
    Подскажите, как сделать следующее.
    В документ или шаблон, в определенное место нужно вставить данные из формы, состоящей из простых полей (textbox).
    Как это сделать?
     
    И еще подскажите как вставить рисунок в текст на форуме.

    Всего записей: 15 | Зарегистр. 31-08-2007 | Отправлено: 16:32 01-09-2007 | Исправлено: august23, 23:06 03-09-2007
    baston



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как удалить через VBA переводы строк в строке таблицы? Спасибо.

    Всего записей: 39 | Зарегистр. 27-12-2005 | Отправлено: 16:48 06-09-2007
    baston



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Решение по удалению переводов строк нашел.

    Всего записей: 39 | Зарегистр. 27-12-2005 | Отправлено: 17:19 14-09-2007
    RIKI

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто подскажет как в активном документе собрать (вывести в начале файла например) список используемых стилей абзаца? только используемых!

    Всего записей: 350 | Зарегистр. 07-07-2004 | Отправлено: 15:50 17-09-2007
    AlexeyID

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

    Цитата:
    Кто подскажет как в активном документе собрать (вывести в начале файла например) список используемых стилей абзаца? только используемых!

     
    Если нужно список стилей внедренных в документ, то можно использовать свойство стиля InUse, свойство Type (тип стиля) можно использовать, если нужно выбрать только определенные стили абзацев или символов.
     
    Если стили нужно отыскать в документе, то по-мойму только перебирать все абзацы и делать коллекцию, хотя наверно должен быть более простой способ.

    Всего записей: 72 | Зарегистр. 01-10-2005 | Отправлено: 06:29 19-09-2007
    axit



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    День добрый
    нужен код макроса для ворда обеспечивающий выполнение вот такого задания:
     
    Есть вордовский документ
    и есть список ключевых слов
    Нужно обработать этот документ так, чтобы каждое ключевое слово имело список (номера) страниц, где оно содержиться.

    Всего записей: 215 | Зарегистр. 27-04-2005 | Отправлено: 15:24 20-09-2007
    popkov

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

    Цитата:
    Нужно обработать этот документ так, чтобы каждое ключевое слово имело список (номера) страниц, где оно содержиться.

    Вроде, в Word есть такая фича, как вставка Указателя. Это то, что тебе нужно - добавь только автоматическую пометку нужных слов как ключевые. С этим надо разбираться. Начни со Вставка::Оглавление и указатели - там есть все кнопки. Запиши макрос, затем разбирайся, как всё автоматизировать. Удачи!

    Всего записей: 1833 | Зарегистр. 22-03-2003 | Отправлено: 17:16 20-09-2007
    axit



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    popkov
    Это не то.
    Мне нужно как минимум оператор на VBA который выводит номер страницы документа.
    остально я уж сам додумаю
    Кто подскажет как он пишеться?

    Всего записей: 215 | Зарегистр. 27-04-2005 | Отправлено: 11:59 25-09-2007
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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