Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/распечатать и закрыть без сохранения все процессы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » распечатать и закрыть без сохранения все процессы (Формулы/Formulas)
распечатать и закрыть без сохранения все процессы
pahunchil Дата: Суббота, 14.05.2016, 14:11 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, уважаемые форумчане. Прошу помощи в оптимизации своей работы. У меня профильная программа выгружает в эксель сразу несколько десятков документов и каждый в отдельном процессе в диспетчере задач. Моя задача все их распечатать и закрыть без сохранения. Помогите пожалуйста. Заранее очень сильно благодарю!
К сообщению приложен файл: 0366075.xlsx (12.6 Kb)


С уважением, Павел

Сообщение отредактировал pahunchil - Суббота, 14.05.2016, 17:45
 
Ответить
СообщениеЗдравствуйте, уважаемые форумчане. Прошу помощи в оптимизации своей работы. У меня профильная программа выгружает в эксель сразу несколько десятков документов и каждый в отдельном процессе в диспетчере задач. Моя задача все их распечатать и закрыть без сохранения. Помогите пожалуйста. Заранее очень сильно благодарю!

Автор - pahunchil
Дата добавления - 14.05.2016 в 14:11
anvg Дата: Суббота, 14.05.2016, 18:27 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток
Если предположить, что других процессов Excel, кроме созданных профильной программой, не запущено, то можно будет воспользоваться таким vbs скриптом
[vba]
Код
Option Explicit
Dim xlApp, pBook

Set xlApp = GetExcel()
Do Until xlApp Is Nothing
    For Each pBook In xlApp.Workbooks
        'код для печати
        '==============
        pBook.Close False
    Next
    xlApp.Quit
    Set xlApp = Nothing
    WScript.Sleep 2000
    Set xlApp = GetExcel()
Loop

Private Function GetExcel()
On Error Resume Next
    Dim xls
    Err.Clear
    Set xls = GetObject(,"Excel.Application")
    If Err.Number = 0 Then
        Set GetExcel = xls
    Else
        Set GetExcel = Nothing
    End If
End Function
[/vba]
Успехов.


Сообщение отредактировал anvg - Суббота, 14.05.2016, 18:48
 
Ответить
СообщениеДоброе время суток
Если предположить, что других процессов Excel, кроме созданных профильной программой, не запущено, то можно будет воспользоваться таким vbs скриптом
[vba]
Код
Option Explicit
Dim xlApp, pBook

Set xlApp = GetExcel()
Do Until xlApp Is Nothing
    For Each pBook In xlApp.Workbooks
        'код для печати
        '==============
        pBook.Close False
    Next
    xlApp.Quit
    Set xlApp = Nothing
    WScript.Sleep 2000
    Set xlApp = GetExcel()
Loop

Private Function GetExcel()
On Error Resume Next
    Dim xls
    Err.Clear
    Set xls = GetObject(,"Excel.Application")
    If Err.Number = 0 Then
        Set GetExcel = xls
    Else
        Set GetExcel = Nothing
    End If
End Function
[/vba]
Успехов.

Автор - anvg
Дата добавления - 14.05.2016 в 18:27
pahunchil Дата: Суббота, 14.05.2016, 18:58 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
anvg, я дико извиняюсь. Спасибо огромное за ответ. Вы не могли бы чуть поподробнее. Я в языке vba не разбираюсь, знаю только как записать макрос с помощью функции записи и потом знаю где его отредактировать , но я так понял, что это код не полный? Что я должен с ним сделать?


С уважением, Павел
 
Ответить
Сообщениеanvg, я дико извиняюсь. Спасибо огромное за ответ. Вы не могли бы чуть поподробнее. Я в языке vba не разбираюсь, знаю только как записать макрос с помощью функции записи и потом знаю где его отредактировать , но я так понял, что это код не полный? Что я должен с ним сделать?

Автор - pahunchil
Дата добавления - 14.05.2016 в 18:58
anvg Дата: Суббота, 14.05.2016, 20:52 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Вот как. А по тексту вопроса не скажешь. Меняете
'код для печати
на
[vba]
Код
pBook.PrintOut
[/vba]
Копируете текст скрипта в текстовый файл и сохраняете в файл с расширением vbs. Когда нужно запускаете. Он оправит содержимое открытых файлов всех экземпляров Excel, а потом закроет их.
Успехов.
 
Ответить
СообщениеВот как. А по тексту вопроса не скажешь. Меняете
'код для печати
на
[vba]
Код
pBook.PrintOut
[/vba]
Копируете текст скрипта в текстовый файл и сохраняете в файл с расширением vbs. Когда нужно запускаете. Он оправит содержимое открытых файлов всех экземпляров Excel, а потом закроет их.
Успехов.

Автор - anvg
Дата добавления - 14.05.2016 в 20:52
pahunchil Дата: Воскресенье, 15.05.2016, 15:10 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
anvg, спасибо Вам огромное! yes Всё работает. Мне тоже жаль, что пока не знаю vba, читал парочку самоучителей, но они все-таки не для новичков


С уважением, Павел
 
Ответить
Сообщениеanvg, спасибо Вам огромное! yes Всё работает. Мне тоже жаль, что пока не знаю vba, читал парочку самоучителей, но они все-таки не для новичков

Автор - pahunchil
Дата добавления - 15.05.2016 в 15:10
Мир MS Excel » Вопросы и решения » Вопросы по Excel » распечатать и закрыть без сохранения все процессы (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!