View previous topic :: View next topic |
Author |
Message |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Wed Nov 09, 2011 09:17 Post subject: Автоматическая печать при открытии документа |
|
|
Доброго времени суток!
Необходимо на рабочем компьютере с помощью настройки внутренних ассоциаций файлов в Total Commander выставить открытие файлов RTF так, чтобы они сразу выводились на печать в 2-х экземплярах, одновременно сохранив их нормальное открытие из Проводника. Из Тотала это сделать не получилось. Пришлось менять по умолчанию контекстное меню Проводника (Свойства папки - Типы файлов, Windows XP). Вот как реализуется функция печати через DDE в Проводнике с учетом моих доделок:
Code: | Сообщение DDE:
[REM _DDE_Minimize][FileOpen("%1")][t=IsDocumentDirty()][FilePrint 0][FilePrint 0][SetDocumentDirty t][DocClose]
Приложение:
WinWord
Незапущенное приложение DDE:
[FileOpen("%1")][FilePrint 0][FilePrint 0][FileExit 2]
Раздел:
System |
Беда в том, что в этом случае и в проводнике и в тотале идет автоматическая печать. У меня на работе стоит версия тотала 7.50a перевод Sam. В справке к нему говорится, что можно назначить DDE в диалоге настройки внутренних ассоциаций, но там я такой функции в упор не вижу. Может она появляется только в определенных случаях? Ведь WinWord ее поддерживает.
Существует ли способ использовать DDE в Total Commander при открытии файла? Может Wincmd.ini править надо? |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Wed Nov 09, 2011 09:43 Post subject: |
|
|
А зачем вообще печать при открытии?
Может лучше сделать просто кнопку\команду печати 2-х экземляров rtf-документа? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Wed Nov 09, 2011 14:37 Post subject: |
|
|
Дело в том, что нам документы в формате rtf в папку по сети из другого города складывают, и их надо сразу распечатывать в 2 экземплярах (сетевой принтер постоянно почему-то вылетает, поэтому договорились поступать таким образом). В день приходит по многу документов, работа загружена и чтобы каждый раз не выполнять одни и те же действия, решил автоматизировать. Да, я такой ленивый Обычно я работаю с тоталом, а любой другой не знающий работник из проводника (откуда же еще?) может попытаться "открыть" документ и получит сюрприз
Можно, конечно, и кнопкой обойтись, но лучше бы все-таки печатать сразу при открытии с автоматическим закрытием документа. Так удобнее.
Добавлено спустя 49 минут:
Вот что пишется в справке:
Quote: | Диалоговое окно: Изменение действия
Здесь вы можете определить или изменить действие, связанное с выбранным типом файла.
Действие Название действия, например, "open" или "print".
Описание Текст, показываемый в контекстном меню для этого действия. На локализованных системах (например, русских) здесь находится переведённое название действия. Для "open" и "print" соответственно было бы "Открыть" и "Печать".
Команда Команда, выполняющаяся при выборе указанного действия в контекстном меню. Чтобы передать ассоциированный файл запущенной программе, необходимо использовать параметр командной строки (%1 или "%1"), либо использовать динамический обмен данными (Dynamic Data Exchange, DDE).
Применять DDE Windows должна использовать динамический обмен данными, чтобы передать имя файла запущенной программе. Это позволяет одной программе (например, WinWord) открывать несколько файлов. При включении данной опции становятся доступными следующие настройки, касающиеся DDE:
Сообщение DDE Команда DDE, посылаемая программе для открытия файла. Обычно команда передаётся в квадратных скобках. Пример: [FileOpen("%1")]
DDE-приложение Имя приложения, используемого для подключения при динамическом обмене данными, например, WinWord.
Сообщение DDE, если приложение не запущено Некоторые приложения используют разные сообщения, когда программа запущена и когда не запущена.
Пример: Если вы выбираете "Печать" для файлов Excel, команда для незапущенного приложения будет [open("%1")][print()][quit()], в результате чего Excel закроется после печати.
Если Excel уже запущен, командой будет строка [open("%1")][print()][close()], которая закроет только распечатанный документ, оставляя Excel открытым.
DDE-раздел Раздел динамического обмена данными для DDE-подключения. Для большинства приложений здесь установлено значение "System".
OK Сохраняет текущие настройки выбранного действия в системном реестре и закрывает диалог.
Отмена Закрывает диалог без сохранения сделанных вами изменений. |
В диалоговом окне изменения действия в упор параметров DDE не вижу:
 |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Wed Nov 09, 2011 15:27 Post subject: |
|
|
arch31 wrote: | Можно, конечно, и кнопкой обойтись, но лучше бы все-таки печатать сразу при открытии с автоматическим закрытием документа. Так удобнее. |
Честно говоря, я не понял, чем "лучше" открывать документ, чтобы потом его закрыть? Разве не удобнее сделать кнопку для печати всех выделенных документов или, например, для печати всех документов в определённой папке? Какое функциональное значение несёт в себе именно открытие? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Wed Nov 09, 2011 16:37 Post subject: |
|
|
arch31
Полное цитирование раздела справки, во-первых, нарушает правила форума (в подобных случаях достаточно было бы ссылки), во-вторых, бессмысленно, ибо выполняется по старой (до 7.5x), а не современной редакции справки, где, между прочим, перед DDE сказано следующее:
Справка TC wrote: | Нижеследующие команды доступны только для системных ассоциаций, но не для внутренних |
_________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Wed Nov 09, 2011 20:09 Post subject: |
|
|
Batya wrote: | Честно говоря, я не понял, чем "лучше" открывать документ, чтобы потом его закрыть? Разве не удобнее сделать кнопку для печати всех выделенных документов или, например, для печати всех документов в определённой папке? Какое функциональное значение несёт в себе именно открытие? | Такое действие целиком содрано из меню Проводника, куда сам Офис его при инсталляции прописывает. К тому же необходимо при печати сохранять форматирование. В том-то и проблема, что все документы одновременно печатать не надо, они печатаются по мере их поступления, затем напечатанные сдаются. И так снова и снова.
Avada wrote: | Полное цитирование раздела справки, во-первых, нарушает правила форума (в подобных случаях достаточно было бы ссылки) | Прошу прощения, про свежую интернет-версию справки не знал.
MVV wrote: | А внутренние ассоциации и не поддерживают DDE. | Тогда все понятно. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Thu Nov 10, 2011 11:14 Post subject: |
|
|
arch31 wrote: | Такое действие целиком содрано из меню Проводника, куда сам Офис его при инсталляции прописывает. К тому же необходимо при печати сохранять форматирование. В том-то и проблема, что все документы одновременно печатать не надо, они печатаются по мере их поступления, затем напечатанные сдаются. И так снова и снова. |
Меня абсолютно не волнует, как работает Проводник.
И я так и не понял, чем не устраивает предложенный мной выше вариант: Batya wrote: | сделать кнопку для печати всех выделенных документов | ... при условии, что форматирование будет сохранено.
Ещё раз - забудьте про Проводник!
Как и какой хотелось бы получить результат при работе в Total Commander? Если результат - это напечатанные документы, то зачем нужно действие "открыть"? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Nov 10, 2011 19:39 Post subject: |
|
|
Batya wrote: | И я так и не понял, чем не устраивает предложенный мной выше вариант: | Видимо, нужна отложенная очередь:
arch31 wrote: | все документы одновременно печатать не надо, они печатаются по мере их поступления |
Last edited by Flasher on Fri Nov 11, 2011 10:24; edited 1 time in total |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Fri Nov 11, 2011 09:47 Post subject: |
|
|
Flasher
Вторая цитата не моя, а arch31.
Flasher wrote: | Видимо, нужна отложенная очередь |
Как ты себе это представляешь в ракурсе "автоматической печати при открытии документа"?
Я же как раз и предлагал - выделяй нужные документы (читай - только что поступившие), нажимай кнопку и забирай требумое из принтера. Проще вариант, только если скрипт будет сам отслеживать "документы ... по мере их поступления", но, как я понимаю, судя по текущему обсуждению, выбить из автора топика алгоритм определения свежих документов вообще нереально. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Nov 11, 2011 10:23 Post subject: |
|
|
Batya wrote: | Как ты себе это представляешь в ракурсе "автоматической печати при открытии документа"? | Я сам пока не разобрался в противоречивых мыслях автора темы. Полагаю, что нужно тупо добавлять документы в очередь, а не ставить вперёд. Зачем их ещё и открывать, чтобы потом сразу закрыть, мне, так же как и тебе, неясно, раз форматирование от этого не страдает. |
|
Back to top |
|
 |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Mon Nov 14, 2011 12:20 Post subject: |
|
|
Прошу прощения, я хотел узнать, есть ли возможность прописать dde или нет, но коль скоро тема продолжается:
В общем ситуация такая: медицинский кабинет диагностики, очередь из пациентов, после исследования на руки пациенту выдаются снимки и их описание. Доктор описывает удаленно и присылает rtf файл. Необходимо после присылки мед. описания его распечатывать в 2 экз. Ждать до конца рабочего дня (пока будут описаны и присланы все) нет возможности, пациенты весь день ждать не смогут. Кнопкой осуществить в принципе можно было бы, правда мед. сестра вряд ли будет искать кнопку на панели и будет делать по старинке.
Batya wrote: | Проще вариант, только если скрипт будет сам отслеживать "документы ... по мере их поступления", ... | Это был бы самый оптимальный вариант. В принципе действительно было удобно, когда документы сразу удаленно отсылались на принтер, только теперь почему-то эта функция не работает. Видимо, что-то с программой удаленного доступа. Но это не важно. Quote: | ...но, как я понимаю, судя по текущему обсуждению, выбить из автора топика алгоритм определения свежих документов вообще нереально | Если б я сам знал... Подозреваю, что надо определять по количеству файлов в папке и времени последнего изменения. Правда, можно ли это осуществить скриптом на практике, не знаю. Не силен я в скриптописании.
Flasher wrote: | Зачем их ещё и открывать, чтобы потом сразу закрыть | Да в принципе незачем, если так можно. Я же пишу, что подсмотрел, как в Проводнике это делается. Если можно по-другому, буду только рад. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Mon Nov 14, 2011 14:22 Post subject: |
|
|
arch31 wrote: | Если б я сам знал... Подозреваю, что надо определять по количеству файлов в папке и времени последнего изменения. |
Самое простое - переносить распечатанные документы в отдельную папку, например, "Распечатанные" или "Printed". Или сначала помещать документы в некую папку "Для печати", а потом скрипт печатает и переносит документы дальше - в обычную папку с документами.
Возможен ещё вариант - в отдельном файле (например, txt или xls) вести список документов с указанием признака "распечатан\не распечатан".
Ещё вариант - хранить где-нибудь (например, в реестре) дату-время последнего распечатанного документа. Соответственно, нужно печатать те документы, дата которых больше хранимой, а потом менять это значение в реестре.
Какой вариант тебе больше нравится? (Подчеркну, что всю работу будет выполять скрипт. Только нужно определиться, по какому алгоритму он будет работать.) _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Mon Nov 14, 2011 15:03 Post subject: |
|
|
С отд. папкой это идея! Как-то не подумал сначала. Первый вариант, думаю, будет то что надо. В общем, документы скидываются в папку d:\Заключения\, готовые можно во вложенную Printed перемещать (хоть правда сейчас в конце дня вручную кидаю в папку с названием текущего месяца (для архива), но это, думаю, уже будет высший пилотаж, для тех, кому делать нечего) |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|