Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Автоматическая печать при открытии документа

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Wed Nov 09, 2011 09:17    Post subject: Автоматическая печать при открытии документа Reply with quote

Доброго времени суток!
Необходимо на рабочем компьютере с помощью настройки внутренних ассоциаций файлов в 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
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Wed Nov 09, 2011 09:43    Post subject: Reply with quote

А зачем вообще печать при открытии?
Может лучше сделать просто кнопку\команду печати 2-х экземляров rtf-документа?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Wed Nov 09, 2011 14:37    Post subject: Reply with quote

Дело в том, что нам документы в формате rtf в папку по сети из другого города складывают, и их надо сразу распечатывать в 2 экземплярах (сетевой принтер постоянно почему-то вылетает, поэтому договорились поступать таким образом). В день приходит по многу документов, работа загружена и чтобы каждый раз не выполнять одни и те же действия, решил автоматизировать. Да, я такой ленивый Smile Обычно я работаю с тоталом, а любой другой не знающий работник из проводника (откуда же еще?) может попытаться "открыть" документ и получит сюрприз Smile
Можно, конечно, и кнопкой обойтись, но лучше бы все-таки печатать сразу при открытии с автоматическим закрытием документа. Так удобнее.

Добавлено спустя 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
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Wed Nov 09, 2011 15:27    Post subject: Reply with quote

arch31 wrote:
Можно, конечно, и кнопкой обойтись, но лучше бы все-таки печатать сразу при открытии с автоматическим закрытием документа. Так удобнее.

Честно говоря, я не понял, чем "лучше" открывать документ, чтобы потом его закрыть? Разве не удобнее сделать кнопку для печати всех выделенных документов или, например, для печати всех документов в определённой папке? Какое функциональное значение несёт в себе именно открытие?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Wed Nov 09, 2011 16:18    Post subject: Reply with quote

arch31 wrote:
В диалоговом окне изменения действия в упор параметров DDE не вижу:

А внутренние ассоциации и не поддерживают DDE.

Насчёт открытия для печати - абсолютно согласен с Batya, что проще печатать документ, не открывая его, чем добавлять такое нелогичное действие как печать при открытии.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Wed Nov 09, 2011 16:37    Post subject: Reply with quote

arch31
Полное цитирование раздела справки, во-первых, нарушает правила форума (в подобных случаях достаточно было бы ссылки), во-вторых, бессмысленно, ибо выполняется по старой (до 7.5x), а не современной редакции справки, где, между прочим, перед DDE сказано следующее:
Справка TC wrote:
Нижеследующие команды доступны только для системных ассоциаций, но не для внутренних

_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Wed Nov 09, 2011 20:09    Post subject: Reply with quote

Batya wrote:
Честно говоря, я не понял, чем "лучше" открывать документ, чтобы потом его закрыть? Разве не удобнее сделать кнопку для печати всех выделенных документов или, например, для печати всех документов в определённой папке? Какое функциональное значение несёт в себе именно открытие?
Такое действие целиком содрано из меню Проводника, куда сам Офис его при инсталляции прописывает. К тому же необходимо при печати сохранять форматирование. В том-то и проблема, что все документы одновременно печатать не надо, они печатаются по мере их поступления, затем напечатанные сдаются. И так снова и снова.
Avada wrote:
Полное цитирование раздела справки, во-первых, нарушает правила форума (в подобных случаях достаточно было бы ссылки)
Прошу прощения, про свежую интернет-версию справки не знал.
MVV wrote:
А внутренние ассоциации и не поддерживают DDE.
Тогда все понятно.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Thu Nov 10, 2011 11:14    Post subject: Reply with quote

arch31 wrote:
Такое действие целиком содрано из меню Проводника, куда сам Офис его при инсталляции прописывает. К тому же необходимо при печати сохранять форматирование. В том-то и проблема, что все документы одновременно печатать не надо, они печатаются по мере их поступления, затем напечатанные сдаются. И так снова и снова.

Меня абсолютно не волнует, как работает Проводник.
И я так и не понял, чем не устраивает предложенный мной выше вариант:
Batya wrote:
сделать кнопку для печати всех выделенных документов
... при условии, что форматирование будет сохранено.

Ещё раз - забудьте про Проводник!
Как и какой хотелось бы получить результат при работе в Total Commander? Если результат - это напечатанные документы, то зачем нужно действие "открыть"?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Nov 10, 2011 19:39    Post subject: Reply with quote

Batya wrote:
И я так и не понял, чем не устраивает предложенный мной выше вариант:
Видимо, нужна отложенная очередь:
arch31 wrote:
все документы одновременно печатать не надо, они печатаются по мере их поступления


Last edited by Flasher on Fri Nov 11, 2011 10:24; edited 1 time in total
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Fri Nov 11, 2011 09:47    Post subject: Reply with quote

Flasher
Вторая цитата не моя, а arch31.

Flasher wrote:
Видимо, нужна отложенная очередь

Как ты себе это представляешь в ракурсе "автоматической печати при открытии документа"?
Я же как раз и предлагал - выделяй нужные документы (читай - только что поступившие), нажимай кнопку и забирай требумое из принтера. Проще вариант, только если скрипт будет сам отслеживать "документы ... по мере их поступления", но, как я понимаю, судя по текущему обсуждению, выбить из автора топика алгоритм определения свежих документов вообще нереально.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Nov 11, 2011 10:23    Post subject: Reply with quote

Batya wrote:
Как ты себе это представляешь в ракурсе "автоматической печати при открытии документа"?
Я сам пока не разобрался в противоречивых мыслях автора темы. Полагаю, что нужно тупо добавлять документы в очередь, а не ставить вперёд. Зачем их ещё и открывать, чтобы потом сразу закрыть, мне, так же как и тебе, неясно, раз форматирование от этого не страдает.
Back to top
View user's profile Send private message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Mon Nov 14, 2011 12:20    Post subject: Reply with quote

Прошу прощения, я хотел узнать, есть ли возможность прописать dde или нет, но коль скоро тема продолжается:

В общем ситуация такая: медицинский кабинет диагностики, очередь из пациентов, после исследования на руки пациенту выдаются снимки и их описание. Доктор описывает удаленно и присылает rtf файл. Необходимо после присылки мед. описания его распечатывать в 2 экз. Ждать до конца рабочего дня (пока будут описаны и присланы все) нет возможности, пациенты весь день ждать не смогут. Кнопкой осуществить в принципе можно было бы, правда мед. сестра вряд ли будет искать кнопку на панели и будет делать по старинке.
Batya wrote:
Проще вариант, только если скрипт будет сам отслеживать "документы ... по мере их поступления", ...
Это был бы самый оптимальный вариант. В принципе действительно было удобно, когда документы сразу удаленно отсылались на принтер, только теперь почему-то эта функция не работает. Видимо, что-то с программой удаленного доступа. Но это не важно.
Quote:
...но, как я понимаю, судя по текущему обсуждению, выбить из автора топика алгоритм определения свежих документов вообще нереально
Если б я сам знал... Подозреваю, что надо определять по количеству файлов в папке и времени последнего изменения. Правда, можно ли это осуществить скриптом на практике, не знаю. Не силен я в скриптописании.
Flasher wrote:
Зачем их ещё и открывать, чтобы потом сразу закрыть
Да в принципе незачем, если так можно. Я же пишу, что подсмотрел, как в Проводнике это делается. Если можно по-другому, буду только рад.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Mon Nov 14, 2011 14:22    Post subject: Reply with quote

arch31 wrote:
Если б я сам знал... Подозреваю, что надо определять по количеству файлов в папке и времени последнего изменения.

Самое простое - переносить распечатанные документы в отдельную папку, например, "Распечатанные" или "Printed". Или сначала помещать документы в некую папку "Для печати", а потом скрипт печатает и переносит документы дальше - в обычную папку с документами.
Возможен ещё вариант - в отдельном файле (например, txt или xls) вести список документов с указанием признака "распечатан\не распечатан".
Ещё вариант - хранить где-нибудь (например, в реестре) дату-время последнего распечатанного документа. Соответственно, нужно печатать те документы, дата которых больше хранимой, а потом менять это значение в реестре.
Какой вариант тебе больше нравится? (Подчеркну, что всю работу будет выполять скрипт. Только нужно определиться, по какому алгоритму он будет работать.)
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Mon Nov 14, 2011 15:03    Post subject: Reply with quote

С отд. папкой это идея! Idea Как-то не подумал сначала. Первый вариант, думаю, будет то что надо. В общем, документы скидываются в папку d:\Заключения\, готовые можно во вложенную Printed перемещать (хоть правда сейчас в конце дня вручную кидаю в папку с названием текущего месяца (для архива), но это, думаю, уже будет высший пилотаж, для тех, кому делать нечего)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
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