Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 5

Помогите написать макрос для Word

06.06.2010, 23:22. Показов 1934. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема такая : в огромном тексте расставлены абзацы. Абзац-это английское словосочетание и его перевод.По сути -это сканированный англ-русск. словарь. Английские слова (Словосочетания!) выделены одним шрифтом, например 'TimesNewRoman', а русские-перевод-другим, например 'Arial'. необходимо выделять в абзаце английскую часть и русский перевод для последующей вставки в таблицу, где 2-столбца(слева-английское слово, а справа-русский перевод). Заранее благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.06.2010, 23:22
Ответы с готовыми решениями:

Написать макрос для изменения цвета в документе Word
Здравствуйте! Нужен макрос для изменения цвета выделения(т.е цвета фона) всех согласных букв в документе на красный цвет. Заранее...

Как написать макрос для автоматической пронумеровки картинок в Word
Никак не получается написать макрос( В документ вставленно несколько картинок, нужно чтобы под каждой из картинок создалась подпись(в...

Написать макрос для Word, который будет делать автосумму как в Excel
Здравствуйте, помогоите пожалуйста написать макрос для Word, который будет делать автосумму как в Excel.

1
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 15
09.06.2010, 02:55
Попробуй так:

Code
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Option Explicit
Public Sub ConvertDictionaryFromParagraphsToTable()
Dim CurRange As Range, CurPara As Paragraph
Dim Source As Document, DestDoc As Document, DestCell As Cell
Dim i As Long, Total As Long, FirstCaption As String, Ready As Long, LastReady As Long
    Set Source = Application.ActiveDocument
    FirstCaption = Source.Windows(1).Caption
    If InStr('(', FirstCaption) Then FirstCaption = Left$(FirstCaption, InStr('(', FirstCaption) - 1)
    ' иначе если было '(только для чтения)' , то после отработки будет '(только для чтения)(только для чтения)'
    Set DestDoc = Application.Documents.Add
    Total = Source.Paragraphs.Count
    DestDoc.Range.Tables.Add DestDoc.Range, Total + 1, 2
    Set DestCell = DestDoc.Range.Tables(1).Rows(1).Cells(1)
    DestCell.Range.Text = 'Английское словосочетание'
    DestCell.Range.Font.Bold = True
    Set DestCell = DestCell.Next
    DestCell.Range.Text = 'Его перевод'
    DestCell.Range.Font.Bold = True
    i = 0
    For Each CurPara In Source.Paragraphs
        i = i + 1
        Set CurRange = CurPara.Range
        CurRange.Collapse wdCollapseStart
        With CurRange.Find
            .ClearFormatting
            .MatchWholeWord = False
            .Format = True
            .Font = CurRange.Font
            .Wrap = wdFindStop
            .Execute
        End With
        Set DestCell = DestCell.Next
        DestCell.Range.Text = CurRange.Text
        CurRange.Collapse wdCollapseEnd
        CurRange.MoveEndUntil Chr(13), wdForward
        Set DestCell = DestCell.Next
        DestCell.Range.Text = CurRange.Text
        If (i And &HF) = &HF Then
            DoEvents
            ' Здесь должен быть код проверки нажатия на 'Cancel'
            ' и в случае нажатия аварийного завершения цикла
            ' также здесь могут и должны быть проверки на закрытие
            ' и изменение источника в Word 2000 и выше (97 не поддерживает)
            Ready = i * 100  Total
            If (Ready <> LastReady) Then
                Source.Windows(1).Caption = '{' & LTrim$(Str$(Ready)) & '% - DictionaryToTable}' & FirstCaption
                LastReady = Ready
            End If
        End If
    Next
    Source.Windows(1).Caption = FirstCaption
    DestDoc.Activate
End Sub
Предполагаю , что текст в пределах русских и английских (что принципиально , так как они первые в абзацах по вашему опписанию) словосочетаний имеет единое форматирование
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.06.2010, 02:55
Помогаю со студенческими работами здесь

Помогите написать макрос для копирования данных из Excel-файла
помогите написать MACRO чтоби копировать данние одного EXCEL fila в другой

Сделать макрос в Word, вводишь строку и макрос произвольно меняет шрифт, цвет и размер для каждого слова из этого активного вордовского документа.
Началось VBA - лекций нет, только практика. Препод категоричеки отказывается что-нить объяснять, ссылаясь на то, что: &quot;если сам...

Написать макрос в word. Посимвольное прохождение документа
Написать макрос: прохождение документа посимвольно и определять если символ 14 шрифта то после него поставить символ звёздочку.

Макрос: Написать макрос по сравнению двух таблиц для нахождения несоответствий...
знатоки, прошу помощи в еще одном деле: есть два листа, --в одном список: яблоко, груша, слива, --во втором: яблоко, груша ...

Написать макрос MS Word, работающий с участком текста документа, выделенного пользователем
Написать макрос MS Word, который работает с участком текста документа, выделенного пользователем. А именно – заносит каждое слово участка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru