Что такое макросы и чем они могут быть полезны в Word

Внимание! У нас сбои с почтовым сервером! Если не пришло письмо о регистрации или смене пароля напишите нам на info@techwriters.ru! 
@twriters
 obmen_soobsheniyami.pngчат для технических писателей в Telegram

 Зарегистрируйтесь
   RSS
Что такое макросы и чем они могут быть полезны в Word
 
Кто нибудь использует макросы Word? Поделитесь, пожалуйста, их практическим применением. Что это такое и чем они могут быть полезны?
Работаю по-старинке...
Страницы: Пред. 1 2
Ответы
 
Пример макроса, который автоматически назначает соответствующим макросам данного модуля (данный макрос нужно применить только один раз):
Код
Sub HotKeysForMacros()
    ' Горячие клавиши назначаются макросам (одноразовый запуск)
    CustomizationContext = NormalTemplate
    KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyV, wdKeyControl, wdKeyAlt), _
        KeyCategory:=wdKeyCategoryCommand, Command:="PasteText"
End Sub
В приведенном примере макросу с именем PasteText автоматически присваивается комбинация клавиш Ctrl+Alt+V (т.е. после применения приведенного выше макроса нажатие комбинации клавиш Ctrl+Alt+V будет запускать макрос с именем PasteText).

Важно, чтобы макрос с именем PasteText находился в том же модуле макросов, что и приведенный выше макрос HotKeysForMacros.

Для назначения другому пользовательскому макросу другой комбинации горячих клавиш нужно разобраться в правилах указания комбинаций клавиш в команде BuildKeyCode и указать имя нужного пользовательского макроса в параметре Command.
С правилами указания комбинаций клавиш в команде BuildKeyCode можно ознакомиться здесь: http://wordexpert.ru/forum/viewtopic.php?id=2219
Если у вас появятся вопросы, пожалуйста, обращайтесь - будем думать вместе!
 
Макросы, позволяющие удобно изменять размер выделенного рисунка в документе

Макрос, позволяющий уменьшить длину и ширину выделенного рисунка пропорционально на 5%:
Код
Sub ImageSizeMinus()
    Selection.InlineShapes(1).Height = Selection.InlineShapes(1).Height * 0.95
    Selection.InlineShapes(1).Width = Selection.InlineShapes(1).Width * 0.95
End Sub


Макрос, позволяющий увеличить длину и ширину выделенного рисунка пропорционально на 5%:
Код
Sub ImageSizePlus()
    Selection.InlineShapes(1).Height = Selection.InlineShapes(1).Height * 1.05
    Selection.InlineShapes(1).Width = Selection.InlineShapes(1).Width * 1.05
End Sub
Если у вас появятся вопросы, пожалуйста, обращайтесь - будем думать вместе!
 
Макрос, позволяющий не отрывать текущий абзац от следующего:
Код
Sub НеОтрыватьОтПредыдущего()
'
' Макрос - Не отрывать от предыдущего
'
    With Selection.ParagraphFormat
        If .KeepWithNext = True Then
            .KeepWithNext = False
            .KeepTogether = False
        Else: .KeepWithNext = True
              .KeepTogether = True
        End If
    End With
End Sub

Я часто применял данный макрос для установки связи абзаца с последующим рисунком.
Большим достоинством данного макроса является то, что он не "портит" стиля текущего абзаца.
Если у вас появятся вопросы, пожалуйста, обращайтесь - будем думать вместе!
 
Хотелось бы привести здесь еще один полезный макрос, на этот раз для Excel.
Часто по умолчанию в Excel устанавливается так называемый "стиль ссылок R1C1". Однако для большинства пользователей более удобен альтернативный "стиль ссылок A1".
Для быстрого изменения стиля ссылок R1C1 на A1 можно использовать следующий макрос (данный макрос нужно применить только один раз):
Код
Sub Назначение_стиля_A1()
    ' Отмена стиля R1C1() в Excel
    Application.ReferenceStyle = xlA1
End Sub 
Если у вас появятся вопросы, пожалуйста, обращайтесь - будем думать вместе!
 
Уважаемые коллеги!
Если у вас возникнут вопросы по использованию приведенных выше макросов, пишите, пожалуйста, ваши вопросы в этой ветке.
Если у вас появятся вопросы, пожалуйста, обращайтесь - будем думать вместе!
 
макрос, который преобразует связанные объекты (например, рисунки) во внедренные
Код
Attribute VB_Name = "NewMacros"
Public Sub EmbedLinkedGraphics()
'
' Embeds linked graphics into document so it
' can be moved without breaking links to images

' Runs through all Shapes, Fields and InlineShapes
' and calls the LinkFormat.BreakLink
' Written 20-June-2003 Derek Tomes - AuthorIT
' Modified 20-January-2004 DT - ActiveDocument.UndoClear added
' Simplified and changed by Fred Decker 28-February-2007

Dim objShape As Shape
Dim objField As Field
Dim objInlineShape As InlineShape
Dim objSelection As Selection

For Each objShape In ActiveDocument.Shapes
If Not objShape.LinkFormat Is Nothing Then
objShape.LinkFormat.BreakLink
ActiveDocument.UndoClear
End If
Next
For Each objField In ActiveDocument.Fields
If Not objField.LinkFormat Is Nothing Then
objField.LinkFormat.BreakLink
ActiveDocument.UndoClear
End If
Next
For Each objInlineShape In ActiveDocument.InlineShapes
If Not objInlineShape.LinkFormat Is Nothing Then
objInlineShape.LinkFormat.BreakLink
ActiveDocument.UndoClear
End If
Next
' ActiveDocument.ActiveWindow.View.Type = wdPrintView
MsgBox "Finished embedding all shapes, fields and inline shapes"
End Sub
Страницы: Пред. 1 2
Читают тему

Рейтинг@Mail.ru