Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2010, 22:38   #1
Frommerrr
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 10
По умолчанию Не могу зациклить макрос

С помощью макрорекордера создал макрос форматирования таблицы
вот код:
Sub Tablica()
'
' Tablica Макрос
' Макрос записан 23.03.2010 Артем
'
Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)
Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.Borders(wdBorderTop).Line Style = wdLineStyleNone
Selection.Borders(wdBorderLeft).Lin eStyle = wdLineStyleNone
Selection.Borders(wdBorderBottom).L ineStyle = wdLineStyleNone
Selection.Borders(wdBorderRight).Li neStyle = wdLineStyleNone
Selection.Borders(wdBorderHorizonta l).LineStyle = wdLineStyleNone
Selection.Borders(wdBorderVertical) .LineStyle = wdLineStyleNone
With Selection.Borders(wdBorderTop)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.Borders(wdBorderLeft)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.Borders(wdBorderBottom)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.Borders(wdBorderRight)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.Borders(wdBorderHorizonta l)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.Borders(wdBorderVertical)
.LineStyle = Options.DefaultBorderLineStyle
.LineWidth = Options.DefaultBorderLineWidth
.Color = Options.DefaultBorderColor
End With
With Selection.ParagraphFormat
.LeftIndent = CentimetersToPoints(0)
.RightIndent = CentimetersToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphCenter
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = CentimetersToPoints(0)
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 12
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone
End With
End Sub

Я не знаю как сделать так чтобы запуск макроса форматировал все таблицы в документе так, как я записал. То есть нужно как-то зациклить этот процесс на все таблицы. Кто знает как -- допишите код с использованием кода цикла. Читал литературу по этому вопросу - без примеров не понял.
Frommerrr вне форума Ответить с цитированием
Старый 24.03.2010, 07:06   #2
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Макрос обработки всех таблиц активного документа вашим макросом:
Код:
Sub TablicaAll()
Dim T As Table
    For Each T In ActiveDocument.Tables
        T.Select
        Tablica
    Next T
End Sub
Поместите это макрос рядом с записанным Вами.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 25.03.2010, 10:57   #3
Frommerrr
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 10
По умолчанию

Спасибо Вождь! Работает как по писанному.
Frommerrr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос as-is Microsoft Office Excel 4 25.02.2010 07:51
Как зациклить макрос? kapitel_bc@ukr.net Microsoft Office Excel 7 13.02.2010 23:48
Как правильно зациклить?) Roman_ PHP 3 01.05.2009 15:56
не могу остановить макрос =( ShuraFK Microsoft Office Excel 2 07.04.2009 13:01
Не могу найти макрос, ошибка со шрифтами и поиск! Ilya87 Microsoft Office Excel 15 14.01.2009 05:43