Страницы: 1
RSS
Печать блоками, начиная с последних листов
 
Помогите решить такую задачу:
на листе 2000 страниц
надо напечатать их с конца, блоками по 200 страниц, причем сперва нечетная стр. затем четная  и т.д. (199,200, 197, 198 и т.д.)
СПАСИТЕ!!!
 
не ужели никто не может помочь....(((
 
А Вы хотите, чтобы СРАЗУ Вам ответили? 45 минут всего прошло... Не стоит так поднимать тему.
 
Да ладно, может горит человеку) Вопрос к ТС: что значит "печать блоками"? Пауза после каждого 200-го листа и продолжение с одобрения пользователя?
 
Цитата
Влад написал: может горит человеку
Ну и подошли бы СРАЗУ )
 
Сразу не мог - за ведрами бегал:)
 
Цитата
Влад написал: Пауза после каждого 200-го листа и продолжение с одобрения пользователя?
Спасибо, Влад! Вы все правильно поняли. Мне надо завтра с утра распечатать 15 000 листов в так и если я не смогу сделать автоматически то придется делать это все в ручную......
Изменено: temash - 21.04.2015 23:02:17
 
Страницы на одном листе?
 
да на одном листе
 
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=8&TID=17021&TITLE_SEO=17021&MID=290928&tags=&q=executeexcel4macro+GET.DOCUMENT+50&FORUM_ID%5B0%5D=0&DATE_CHANGE=0&order=relevance&s=%D0%9D%D0%B0%D0%B9%D1%82%D0%B8#message290928
 
спасибо, для меня слишком мудрено... попробую разобраться...до утра есть время) не сильна я в этом....
Изменено: temash - 22.04.2015 00:08:56
 
temash, а без цитирования, ну совсем никак? Вернитесь и удалите цитату - зачем она там?
 
Юрий, ну что Вы все придираетесь? первый раз обратилась в форум за помощью..., лучше бы помогли бы толково
 
Я не придираюсь. Слежу за порядком)
 
Цитата
temash написал:лучше бы помогли бы толково
Ну вот что за отношение такое потребительское? Я зашел(зашла) и все - все должны помочь, а любое замечание расценивается как нападки. Впервые обратились? Так Вам подсказывают как делать не надо - это тоже важная часть знаний, если хотите получить помощь. Если к Вам в дом придет человек и пройдет, не снимая и даже не вытирая обувь прося при этом о помощи - Вы сделаете замечание? Или кинетесь помогать, не обращая внимания, что он у Вас в доме гадит?

Вы задали вопрос - нашлись желающие помочь. Ну так подождите, тем более ни малейшего примера файлов от Вас нет.
Цитата
temash написал: 15 000 листов
Цитата
temash написал: на листе 2000 страниц
Я вот например конкретно не понимаю - страницы в Вашем понимании это листы в Excel или именно печатные страницы? Это очень разные вещи. На одном листе может быть 2000 страниц. Но вот 15 000 листов с 2000 страниц на каждом - это точно нереально.
Плюс про блок в 200 страниц все же не достигнуто соглашения конкретного: это пауза? На какое время? Чем будет определяться длительность паузы? Или вообще имеется ввиду вывод запроса - продолжать или нет. Или просто диалоговое окно вроде "После нажатия Ок процесс продолжится".
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist попробую разъяснить:
2000 печатных страниц на одном листе Excel.
файл не могу предоставить... гос.тайна)
по продолжению печати либо вывод запроса - продолжать или нет, либо диалоговое окно.
главный вопрос реально ли начать печать с конца листа и с нечетных страниц, а не печатать только нечетные страницы.  
Изменено: temash - 22.04.2015 00:46:49
 
Код
Sub Мяу()
    Const lNum& = 200
    Dim n&, i&, j&, s&
    n = ExecuteExcel4Macro("GET.DOCUMENT(50)")
    s = (n \ lNum) * lNum
    Do While s >= 0
        For i = 1 To 2
            For j = s + 1 To n
                If i = 2 Then
                    If j Mod 2 Then Else ActiveSheet.PrintOut From:=j, To:=j
                Else
                    If j Mod 2 Then ActiveSheet.PrintOut From:=j, To:=j
                End If
            Next
        MsgBox "Перекур "
        DoEvents
        Next
        n = s
        s = s - lNum
        MsgBox "Перекур "
        DoEvents
    Loop
End Sub
Изменено: RAN - 22.04.2015 01:19:15
 
RAN спасибо большое! попробую завтра на работе)
 
Ну и мой вариант можете потестить (корректно работает только для четного шага):
Код
Sub PrintAll()
    Const StepPG& = 200
    Dim NPgs&, i&, j&, IsOdd As Boolean
    NPgs = ExecuteExcel4Macro("Get.Document(50)"): IsOdd = NPgs Mod 2 > 0
    On Error GoTo errHandler
    For i = NPgs To StepPG - 1 Step -StepPG
        For j = i To i - StepPG + 1 Step -2
            DoEvents
            With ActiveSheet
                Select Case True
                Case j = 0: Exit Sub
                Case j = 1: .PrintOut j: Exit Sub
                Case IsOdd: .PrintOut j, j - 1
                Case Else: .PrintOut j - 1, j
                End Select
            End With
        Next
        If MsgBox("Продолжить печать следующих " & StepPG & " страниц?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
    Next
    Exit Sub
errHandler:  MsgBox "Ошибка печати!", vbCritical
End Sub
Изменено: Влад - 22.04.2015 01:06:03
 
Влад спасибо, попробую обязательно!!
Влад, RAN  Вы меня спасли, без пустой болтовни))))))))!!
 
Цитата
temash написал: без пустой болтовни
Может хватит? А то может так получиться, что больше и не попадёте сюда.
 
Да, прекур нужно было вставить. :D
Страницы: 1
Наверх