Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Разделение документа Word по 2 страницы

Ответить
Настройки темы
VBA - Разделение документа Word по 2 страницы

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Приветствую!
Подскажите, нашел рабочий код разделения документа постранично, но нужно чтобы разделялось по две страницы. Т.е. есть, например, документ из 100 страниц, нужно создать несколько двухстраничных со страницами 1-2, 3-4, ... , 99-100
Что нужно изменить в следующем коде?
Скрытый текст
PHP код: Выделить весь код

Sub Split()

Dim docMultiple As Document
Dim docSingle 
As Document
Dim rngPage 
As Range
Dim iCurrentPage 
As Integer
Dim iPageCount 
As Integer
Dim strNewFileName 
As String
Application
.ScreenUpdating False
Set docMultiple 
ActiveDocument
Set rngPage 
docMultiple.Range
iCurrentPage 
1
iPageCount 
docMultiple.Content.ComputeStatistics(wdStatisticPages)
Do 
Until iCurrentPage iPageCount
If iCurrentPage iPageCount Then
rngPage
.End ActiveDocument.Range.End
Else
Selection.GoTo wdGoToPagewdGoToAbsoluteiCurrentPage 1
rngPage
.End Selection.Start
End 
If
rngPage.Copy
Set docSingle 
Documents.Add
docSingle
.Range.Paste
docSingle
.Range.Find.Execute Findtext:="^m"ReplaceWith:=""
strNewFileName Replace(docMultiple.FullName".doc""_" Right$("000" iCurrentPage4) & ".doc")
docSingle.SaveAs strNewFileName
iCurrentPage 
iCurrentPage 1
docSingle
.Close
rngPage
.Collapse wdCollapseEnd
Loop
Application
.ScreenUpdating True
Set docMultiple 
Nothing
Set docSingle 
Nothing
Set rngPage 
Nothing
End Sub 

Пробовал менять значения рядом с iCurrentPage, но он то три страницы цеплял, то одну... К сожалению не сильно разбираюсь в VBA, извините...

Отправлено: 11:29, 20-05-2020

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Не называйте собственные процедуры именами встроенных функций

Попробуйте так (не проверялось):
Скрытый текст
Код: Выделить весь код
Option Explicit

Sub SplitBy2Pages()
    Dim docMultiple As Document
    'Dim docSingle As Document
    Dim rngPage As Range
    Dim iCurrentPage As Integer
    Dim iPageCount As Integer
    Dim strNewFileName As String
    
    Application.ScreenUpdating = False
    
    Set docMultiple = ActiveDocument
    Set rngPage = docMultiple.Range
    
    iCurrentPage = 1
    iPageCount = docMultiple.Content.ComputeStatistics(wdStatisticPages)
    
    Do Until iCurrentPage > iPageCount
        If iCurrentPage = iPageCount Then
            rngPage.End = ActiveDocument.Range.End
        Else
            Selection.GoTo wdGoToPage, wdGoToAbsolute, iCurrentPage + 2
            rngPage.End = Selection.Start
        End If
        
        rngPage.Copy
        
        With Documents.Add
            .Range.Paste
            '.Range.Find.Execute Findtext:="^m", ReplaceWith:=""
            strNewFileName = Replace(docMultiple.FullName, ".doc", "_" & Right$("000" & iCurrentPage, 4) & ".doc")
            .SaveAs strNewFileName
            iCurrentPage = iCurrentPage + 2
            .Close
        End With
        
        rngPage.Collapse wdCollapseEnd
    Loop
    
    Application.ScreenUpdating = True
    
    Set docMultiple = Nothing
    Set docSingle = Nothing
    Set rngPage = Nothing
End Sub

Отправлено: 19:35, 20-05-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Разделение документа Word по 2 страницы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Автозаполнение документа Word Александр_Цыпкин@vk Microsoft Office (Word, Excel, Outlook и т.д.) 2 15-07-2015 15:31
2013 - Правка документа в Word 213 sahsa_1987 Microsoft Office (Word, Excel, Outlook и т.д.) 6 15-09-2014 11:54
VBS/WSH/JS - [решено] VBS. Сортировка элементов массива и разделение на страницы McLotos Скриптовые языки администрирования Windows 10 03-11-2013 00:21
2003/XP/2000 - Word | Открытие документа Word в режиме чтения Qwe1 Microsoft Office (Word, Excel, Outlook и т.д.) 4 24-02-2010 16:41
Php разделение на страницы с картинками Maloy clickonline Вебмастеру 10 14-01-2005 23:08




 
Переход