361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 186
1

Подкорректировать макрос для удаления/вставки названия таблиц

05.08.2013, 13:11. Показов 2386. Ответов 1
Метки нет (Все метки)

Добрый день.
Имею два макроса. один удаляет, а другой вставляет названия таблиц.
Первый макрос удаления названия таблиц:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Удалить_название_таблицы_1()
'
' Удалить_название_таблицы_1 Макрос
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Style = ActiveDocument.Styles("Название объекта") ' фильтр для поиска в определенном стиле
    With Selection.Find
        .Text = "Таблица*[А-Я]" ' выделяю до заглавной буквы Наименования
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindAsk
        .Format = True
        .MatchWildcards = True
    End With
    Selection.Find.Execute
    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend ' шифт влево, дабы снять выделение с _ _заглавной буквы 
    Selection.Delete Unit:=wdCharacter, Count:=1
 Do
        Selection.Find.Execute
        If Selection.Find.Found <> True Then Exit Do
        Selection.Delete
    Loop
End Sub
Второй макрос вставки названия:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Вставка_название_таблица()
'
' Вставка_название_таблица Макрос
'
'
    With CaptionLabels("Таблица")
        .NumberStyle = wdCaptionNumberStyleArabic
        .IncludeChapterNumber = True
        .ChapterStyleLevel = 1
        .Separator = wdSeparatorPeriod
    End With
    Selection.InsertCaption Label:="Таблица", TitleAutoText:="InsertCaption1", _
         Title:="", Position:=wdCaptionPositionAbove, ExcludeLabel:=0
    Selection.TypeText Text:=" "
End Sub
Допустим имею кривую нумерацию в названиях к таблицам (см. пример вложение) и требуется поправить эту нумерацию.
Записал макрорекодером два вышеперечисленных макроса, но в первом макросе не корректно работает удаление, в различных случаях удаляет большую букву Названия. Причем и в режиме отображения полей тоже.
И можно ли второй макрос подкрутить, чтобы вставка названия происходила в параграф перед названием таблицы при выделении таблицы.
Вложения
Тип файла: docx Таблицы.docx (73.2 Кб, 18 просмотров)
Тип файла: docx Таблицы - как должно быть.docx (73.0 Кб, 20 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2013, 13:11
Ответы с готовыми решениями:

Как писать триггеры для обработки вставки, замены, удаления записи из таблиц?
Как написать триггеры для обработки вставки, замены, удаления записи из таблиц?объясните...

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

Word: макрос для таблиц. Отформатировать определенный вид таблиц
В документе два вида таблиц. Первый тип таблиц имеет вертикальную шапку сбоку (левый столбец) и...

Реализовать функции для вставки и удаления строк
задание звучит так: Реализовать функции для вставки и удаления строк аналогичные процедурам Insert...

1
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 186
06.08.2013, 16:13  [ТС] 2
Первый вопрос решил сам, нашел ошибку в блоке Do Loop. Добавил в этот блок сдвиг влево на один символ назад.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.08.2013, 16:13

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

Макрос для вставки строк с текстом
В общем помогите написать код для вставки 2 строк от первой до последней на листе с учетом...

Макрос для вставки символов юникода
Помогите. Нужно сделать макрос на вставку символа юникода по тиму Chrw(8292) чтоб он отображался в...

Макрос для вставки словосочетания в ячейки
Добрый день, дорогие программисты! Прошу сделать макрос для эксель, который вставлял бы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru