Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сквозная нумерация ворд файлов через vba excel / 8 сообщений из 8, страница 1 из 1
30.01.2018, 12:27
    #39593253
SandraSidorova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сквозная нумерация ворд файлов через vba excel
Здравствуйте! Подскажите, пожалуйста, если знаете..

Нужно обработать несколько ворд файлов, проставив номера страниц.
(номер первой страницы N+1 документа = последняя стр. N документа + 1)

есть макрос и он работает, но при условии, что в документе больше, чем одна страница

Код: vbnet
1.
2.
 wordapp.Selection.HeaderFooter.PageNumbers.RestartNumberingAtSection = True
 wordapp.Selection.HeaderFooter.PageNumbers.StartingNumber = PageNum + 1



Но если документ с одной страницей, то не меняет номер страницы.
...
Рейтинг: 0 / 0
30.01.2018, 12:43
    #39593264
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сквозная нумерация ворд файлов через vba excel
Это явно не весь макрос
...
Рейтинг: 0 / 0
30.01.2018, 12:48
    #39593269
SandraSidorova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сквозная нумерация ворд файлов через vba excel
Shocker.Pro,

Код: 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.
   Set worddoc = wordapp.Documents.Open(путь к папке)
         worddoc.Application.Visible = True
         tttt = worddoc.ComputeStatistics(wdStatisticPages)

  For Each sec In worddoc.Sections
  If sec.Index = 1 Then
 
 sec.Range.Paragraphs(1).Range.Select
 With worddoc.ActiveWindow.View
  .SeekView = wdSeekCurrentPageFooter
    End With

' что-то изменить
 wordapp.Selection.HeaderFooter.PageNumbers.RestartNumberingAtSection = True
 wordapp.Selection.HeaderFooter.PageNumbers.StartingNumber = PageNum + 1 
  
  With worddoc.ActiveWindow.View
  .SeekView = wdSeekMainDocument
 End With

On Error GoTo 0
       
       wordapp.ScreenRefresh
    h = h
   Else
   sec.Headers(wdHeaderFooterEvenPages).PageNumbers.RestartNumberingAtSection = False
  End If
  Next sec
  PageNum = PageNum + tttt
           
 On Error Resume Next
          
  With worddoc.ActiveWindow.View
  .Type = wdPrintView
  .SeekView = wdSeekCurrentPageFooter
  wordapp.ScreenRefresh
  .Type = wdPrintView
  .SeekView = wdSeekMainDocument
 End With
On Error GoTo 0
         
 worddoc.Close savechanges:=wdSaveChanges




Код макроса очень длинный. Именно этот "кусок" работает с файлами .doc
...
Рейтинг: 0 / 0
30.01.2018, 13:22
    #39593298
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сквозная нумерация ворд файлов через vba excel
Судя по всему, где-то выше приведенного кода есть On Error Resume Next
Возможно, при выполнении макроса при одной странице в документе возникает ошибка, но вы ее не видите и думаете, что номер страницы просто не меняется.
...
Рейтинг: 0 / 0
30.01.2018, 13:42
    #39593314
SandraSidorova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сквозная нумерация ворд файлов через vba excel
Shocker.Pro,
Спасибо, но Нет.. код этот не выдает ошибку.. Программа выполняет этот код
...
Рейтинг: 0 / 0
30.01.2018, 13:47
    #39593320
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сквозная нумерация ворд файлов через vba excel
Тогда для чего там On Error GoTo 0?

Вообще, можно было бы посмотреть, в чем дело, если бы вы вычленили проблемный код в таком виде, чтобы можно было бы у себя запустить и посмотреть, а то теоретически его рассматривать как-то сложновато, а на воссоздание какого-то тестового окружения жалко времени. Ну и, естественно - файлы образцы - на котором работает и на котором не работает.
...
Рейтинг: 0 / 0
30.01.2018, 14:10
    #39593340
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сквозная нумерация ворд файлов через vba excel
SandraSidorovaНужно обработать несколько ворд файлов, проставив номера страниц.
(номер первой страницы N+1 документа = последняя стр. N документа + 1)А нужно ли? Если собрать файлы в один мастер-документ (Вид - Структура - Показать документ - Вставить...), то нумерация страниц в мастер-документе будет сквозной - можно печатать или конвертить в PDF. В исходных файлах ничего не изменится.
...
Рейтинг: 0 / 0
31.01.2018, 22:43
    #39594481
Bobgos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сквозная нумерация ворд файлов через vba excel
SandraSidorova,
а зачем это условие?
Код: vbnet
1.
2.
3.
4.
5.
If sec.Index = 1 Then
'ставим номер страницы
else
   sec.Headers(wdHeaderFooterEvenPages).PageNumbers.RestartNumberingAtSection = False
  End If
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сквозная нумерация ворд файлов через vba excel / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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