Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос для формирования колонтитулов в Word / 4 сообщений из 4, страница 1 из 1
30.01.2014, 10:59
    #38543221
Natali1003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос для формирования колонтитулов в Word
Когда в документе нет специального колонтитула первой страницы, то макрос выполняется нормально, и на каждой странице выходит правильный колонтитул.
Когда же в документе вставлена нумерация страниц и она отображается со второй станице, начинается путаница.
Подскажите как чтобы и при специальном колонтитуле первой страницы, текст в колонтитулах был верным
Спасибо!
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 15.05.2013 rabotnik
'
Dim hfRange As Range 'диапазон колонтитулов
Dim str As String
Dim Sec As String
Dim Sec1 As String
 
Set hfRange = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
 
With hfRange
.Delete
 
Sec1 = Shriftdata
.Fields.Add Range:=hfRange, Text:="DATE  \@ dd.MM.yyyy"
Sec = Slesh
.Fields.Add Range:=hfRange, Text:="FILENAME  \p" 'поле пути и имени файла
str = Ispolnit
 
End With
 
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False  'скрываем коды полей, если они отображались
ActiveWindow.View.Type = wdPrintView    'переключаемся в режим Разметка страницы
 
End Sub
 
Function Ispolnit()
 
 
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    If Selection.HeaderFooter.IsHeader = True Then
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Else
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    End If
    Selection.TypeText Text:="Отдел\Фамилия И.О.\"
    Selection.MoveLeft Unit:=wdCharacter, Count:=100000, Extend:=wdExtend
    Selection.Font.Name = "Times New Roman"
    Selection.Font.Size = 8
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
 
End Function
 
Function Slesh()
'
'
'
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    If Selection.HeaderFooter.IsHeader = True Then
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Else
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    End If
    Selection.TypeText Text:="\"
    Selection.MoveLeft Unit:=wdCharacter, Count:=100000, Extend:=wdExtend
    Selection.Font.Name = "Times New Roman"
    Selection.Font.Size = 8
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Function
 
Function Shriftdata()
'
'
'
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    If Selection.HeaderFooter.IsHeader = True Then
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Else
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    End If
    Selection.TypeText Text:=""
    Selection.MoveLeft Unit:=wdCharacter, Count:=100000, Extend:=wdExtend
    Selection.Font.Name = "Times New Roman"
    Selection.Font.Size = 8
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Function
...
Рейтинг: 0 / 0
30.01.2014, 11:09
    #38543247
Natali1003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос для формирования колонтитулов в Word
т.е. мне надо чтобы этот макрос выполнялся с первой страницы
и нумерация страниц, но номера на первой странице не было
...
Рейтинг: 0 / 0
30.01.2014, 14:03
    #38543615
Natali1003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос для формирования колонтитулов в Word
Уточню:
в документе два колонтитула
в верхнем номер страницы, но он выводится начиная со второй
в нижнем подпись, название документа и дата его создания
...
Рейтинг: 0 / 0
10.02.2014, 10:03
    #38555319
Surrogate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос для формирования колонтитулов в Word
Natali1003,

сейчас у меня нет времени на развернутый ответ. Подобные вопросы обсуждались в теме
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос для формирования колонтитулов в Word / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]