Статьи из блога

Обновление полей, содержащихся в надписях в колонтитулах

Владимир спрашивает:

Нужен макрос для обновления полей в надписях, которые, в свою очередь, размещены в колонтитулах.

Я нашел два подходящих макроса.

Sub upHF()
'Обновление полей в надписях, содержащихся в колонтитулах
Dim oRng As Word.Range  'объявляем объект Word типа Range
Dim oShp As Word.Shape  'объявляем объект Word типа Shape
On Error Resume Next    'игнорируем ошибку
For Each oRng In ActiveDocument.StoryRanges 'для каждого дипазона во всех 
областях активного документа
    Do 'начинаем цикл, пока условие (oRng Is Nothing) не будет выполнено 
(см. внизу)
        oRng.Fields.Update  'обновляем поля
        For Each oShp In oRng.ShapeRange    'для каждого граф.объекта в 
диапазоне
              oShp.TextFrame.TextRange.Fields.Update    'обновляем поля в 
текстовых блоках в граф.объектах
       Next oShp
        Set oRng = oRng.NextStoryRange  'проверяем остальные области 
документа
    Loop Until oRng Is Nothing  'условие
Next oRng
On Error GoTo 0
End Sub

Макрос от Greg Maxey:

Sub myUpdateFields()
Dim rngStory As Word.Range
Dim oShp As Word.Shape
For Each rngStory In ActiveDocument.StoryRanges
    Do
        On Error Resume Next
        rngStory.Fields.Update
        Select Case rngStory.StoryType
            Case 6, 7, 8, 9, 10, 11
                If rngStory.ShapeRange.Count > 0 Then
                    For Each oShp In rngStory.ShapeRange
                        If oShp.TextFrame.HasText Then
                            oShp.TextFrame.TextRange.Fields.Update
                        End If
                    Next oShp
                End If
            Case Else
                'Do Nothing
        End Select
        On Error GoTo 0
        'Get next linked story (if any)
        Set rngStory = rngStory.NextStoryRange
    Loop Until rngStory Is Nothing
Next rngStory
End Sub

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us
Вы можете помочь в развитии сайта, сделав пожертвование:

Или помочь сайту популярной криптовалютой:

 

BTC Адрес: 1Pi3a4c6sJPbfF2sSYR2noy61DMBkncSTQ

 

ETH Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

 

LTC Адрес: LUyT9HtGjtDyLDyEbLJZ8WZWGYUr537qbZ

 

DOGE Адрес: DENN2ncxBc6CcgY8SbcHGpAF87siBVq4tU

 

BAT Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

 

XRP Адрес: rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh Депозит Tag: 105314946

 

USDT (ERC-20) Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

 

Яндекс Деньги: 410013576807538

 

Вебмани (R ещё работает): R140551758553 или Z216149053852

 

А тут весь список наших разных крипто адресов, может какой добрый человек пожертвует немного монет или токенов - получит плюсик в карму от нас :) Благо Дарим, за любую помощь!

 

Еще записи по вопросам использования Microsoft Word:

Комментариев: 4

  1. 10.02.2010 в 22:49 | #1

    Совершенно случайно мне в голову пришёл вот такой макрос, который подкупает своей простотой.

    Sub UpdateAllFields()
      Application.ScreenUpdating = False
      ActiveDocument.PrintPreview
      ActiveDocument.ClosePrintPreview
      Application.ScreenUpdating = True
    End Sub

  2. 11.02.2010 в 13:44 | #2

    Александр! А как пользоваться этим макросом?

  3. 11.02.2010 в 16:09 | #3

    Т.е.? Поместить в модуль и запустить.

    Как поместить макрос в модуль можно почитать здесь

  4. 11.02.2010 в 17:11 | #4

    Спасибо!

Оставьте комментарий!

(обязательно)

^ Наверх