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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2017, 13:25   #1
bdfy
Форумчанин
 
Регистрация: 12.11.2009
Сообщений: 258
По умолчанию Обновление связанных полей в колонтитулах

Есть вот такой вот документ. В колонтитуле рамка (в виде таблицы), в таблице текстовая строка, связанная с екселем.
см стр 4-5 (текст КП.1-43 01 03.17.41.31)
Перепробовал следующее:
Код:
  Dim D As Word.Document, R As Word.Range
    Set D = Word.ActiveDocument
D.PrintPreview
D.ClosePrintPreview
При этом в параметрах печати стоят галки "обновлять поля перед печатью", "обновлять связанные данные перед печатью".
Пробовал менять ссылку с "по запросу" на "авто".
Код:
    For Each R In D.StoryRanges
         Do
            R.Fields.Update
            R.Fields.Unlink
            Set R = R.NextStoryRange
        Loop While Not (R Is Nothing)
    Next R
Не обновляет поля в колонтитулах
Код:
   For Each sec In D.Sections
        For Each f In sec.Footers
            If f.Exists Then
            For Each shp In f.Shapes
                With shp.TextFrame
                    If .HasText Then
                        shp.Select
                        Debug.Print "text " & .TextRange.text
                       .TextRange.Fields.Update
                    End If
                End With
              Next shp
            End If
            Next f
    Next sec
Аналогично не обновляет
до самой надписи удалось добраться один раз через запись макроса
Selection.HeaderFooter.Shapes("Grou p 22").Select
но понятней не стало
Поиск и замена тоже не работают для этого элемента.
Так как программно обновить или прописать эту надпись ?
Вложения
Тип файла: docx Записка_АД_КЗР_ГГТУ_2017_тест.docx (37.2 Кб, 19 просмотров)
bdfy вне форума Ответить с цитированием
Старый 22.09.2017, 13:47   #2
bdfy
Форумчанин
 
Регистрация: 12.11.2009
Сообщений: 258
По умолчанию

http://programmersforum.ru/showthrea...F2%F3%EB%E0%F5
Код:
    '1. Проходимся по каждому разделу.
    For Each mySection In D.Sections
    
        '1.1. Проходимся по верхнему колонтитулу.
        'Проходимся по каждому виду верхнего колонтитула.
        'Есть 3 вида колонтитулов.
        For Each myHeaderFooter In mySection.Headers
            myHeaderFooter.Range.Fields.Update
        Next myHeaderFooter
        
        '1.2. Проходимся по нижнему колонтитулу.
        'Проходимся по каждому виду нижнего колонтитула.
        For Each myHeaderFooter In mySection.Footers
            myHeaderFooter.Range.Fields.Update
        Next myHeaderFooter
        
    Next mySection
тоже не работает
bdfy вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление связанных записей dimkoss БД в Delphi 1 14.06.2017 17:44
Обновление записи в связанных таблицах funchosa БД в Delphi 9 03.11.2015 13:52
Обновление полей при импорте из Exel, Проблема с дублями и обновлением полей ArnoldSnake Microsoft Office Access 1 25.09.2015 11:40
C# обновление в связанных datagridview unit-85 Общие вопросы .NET 0 13.11.2009 15:13
Отображение связанных полей в dbgrid Deight БД в Delphi 5 19.04.2009 00:42