View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Feb 17, 2014 18:38 Post subject: |
|
|
Batya wrote: | А разве это не читабельно? | Я к тому, что если ты напишешь это в одну строку, то, по мне, менее читабельным это выглядеть не будет.
Batya wrote: | List это глобальный массив файлов, и начитываю я его в процедуре проверки входных параметров. | Вызываешь-то ты её единожды.
Batya wrote: | не представляю себе ситуации, когда список документов для печати в Word может быть такого размера, что это будет сказываться на памяти. | Да я сам чаще так списки обрабатываю. Просто отметил сей факт.
Batya wrote: | Не понял. Можно подробнее? | Выше разбирали случай, где за неимением ошибок на печать ничего не выводилось.
Batya wrote: | У меня это указывается стандартным способом - с помощью квадратных скобок. | Ясно. Я предпочитаю указывать. Далеко не все в этом смыслят.
Batya wrote: | Просто скрипт для единичной печати - это мой служебный скрипт ... | Это было понятно, отметил только то, что меня в первом варианте смущало, а в новом уже нет.
Batya wrote: | Не вижу смысла всё сваливать в одну кучу. Если у тебя есть желание, сделай. | Печать офисных документов - это не сваливание в кучу, а оптимизация. Модель-то разная, но во многом методы и свойства сходятся, поэтому подлатать - не большая проблема. Сделаю.
Batya wrote: | В принципе, пример же НЕ является некорректным? | Не знаю, не пробовал, не на чем проверить. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Feb 17, 2014 19:31 Post subject: |
|
|
Flasher wrote: | Вызываешь-то ты её единожды. |
Странный аргумент. Я считаю, что даже единичный вызов кода, имеющего некую чётко выраженную смысловую связку, лучше вынести в отдельную процедуру\функцию.
Flasher wrote: | Выше разбирали случай, где за неимением ошибок на печать ничего не выводилось. |
Насколько я понял, там проблемы были не со скриптом печати, а с правильным (с точки зрения указания параметров) вызовом скрипта печати из скрипта массового запуска. В любом случае, поскольку точно не была локализована проблема, то и обобщить это некой проверкой реальности печати нет возможности.
Ответ на всё остальное - "Дело вкуса". _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Feb 17, 2014 20:00 Post subject: |
|
|
Batya wrote: | Странный аргумент. Я считаю, что даже единичный вызов кода, имеющего некую чётко выраженную смысловую связку, лучше вынести в отдельную процедуру\функцию. | Было бы интересно узнать, почему безусловный вывод такого кода в процедуру в твоём видении странным не считается. Чисто для визуального отделения? Это можно из без процедуры сделать. Обычно при единичном вызове функцию/процедуру задействуют исключительно в показательных целях, но всяко не в целях оптимизации кода.
Рекомендации, когда на практике часть кода отделяют в процедуры, в разных справочных источниках приблизительно аналогичны, и связаны они в основном с повторными вызовами в коде либо какими-то рекурсивными методами.
Попытаемся осмыслить потенциальную проблему с печатью:
видим файлы в очереди, но они не печатаются, например, из-за некорректной передачи свойств функции, скажем, если в параметре указан неверный диапазон страниц. Нечто в этой области. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Feb 17, 2014 23:40 Post subject: |
|
|
Flasher wrote: | Было бы интересно узнать, почему безусловный вывод такого кода в процедуру в твоём видении странным не считается. |
Я никому не навязываю своей точки зрения, но мне так удобнее по нескольким причинам:
1. Чем более объёмным является скрипт, тем более структурированным он должен быть.
2. Вынесение кода в отдельную процедуру позволяет мне проще модифицировать этот скрипт, например, для создания на его основе скрипта с другим функционалом.
3. И, наконец, вынесение кода в отдельную процедуру позволяет не заморачиваться с отдельной обработкой ошибок, а самому их генерить при необходимости (Err.Raise). Мне это кажется весьма удобным.
Flasher wrote: | Попытаемся осмыслить потенциальную проблему с печатью:
видим файлы в очереди, но они не печатаются |
Я не умею работать с очередью печати. Если добавишь в мой скрипт подобную функциональность, буду рад. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Feb 18, 2014 00:44 Post subject: |
|
|
1. Не знал, что процедура как-то влияет на структурированность.
2. Это как раз ближе к показательности. Но как правило в таких процедурах есть аргументы (т.е. не как в обсуждаемой подпрограмме).
3. Т.е. вне процедуры этот код бы не сработал?:
Code: | Do Until objW.BackgroundPrintingStatus = 0
'Если ожидаем уже больше заданного лимита, выходим с ошибкой
If (Timer - StartTime) > TimeLimit Then Err.Raise vbObjectError + 4, Mess(0), Mess(4)
'Пауза 0.1 сек.
WScript.Sleep 100
Loop |
Batya wrote: | Я не умею работать с очередью печати. | Необязательно работать с очередью, достаточно проверять правильность введённых параметров. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
ACKET
Joined: 10 Jun 2015 Posts: 12
|
(Separately) Posted: Wed Jun 10, 2015 09:22 Post subject: использование скрипта печати в TC |
|
|
Люди добрые, подскажите, как Ваши скрипты для печати документов использовать в тотал-коммандере? |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
|
Back to top |
|
|
ACKET
Joined: 10 Jun 2015 Posts: 12
|
(Separately) Posted: Wed Jun 10, 2015 13:30 Post subject: |
|
|
Спасибо, не увидел ссылку на памятку. Вообще супер - скрипт самое то, что надо! Работает без открытия окна ворда, печатает файлы по выделению. Ещё раз спасибо!
Добавлено спустя 2 часа 13 минут:
А как прописать, чтобы при окончании печати (в случае удачной печати) отпечатанный файл автоматически удалялся? |
|
Back to top |
|
|
ACKET
Joined: 10 Jun 2015 Posts: 12
|
(Separately) Posted: Wed Jun 10, 2015 17:10 Post subject: |
|
|
Сам догадался
Loop
'Закрываем документ
Doc.Close(False)
FSO.DeleteFile(pFile)
Set Doc = Nothing
End Sub[/i] |
|
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
|