макрос для печати всех файлов в той же папке, в которой находится файл с макросо

Автор OOKapitan, 24 апреля 2017, 13:33

0 Пользователи и 1 гость просматривают эту тему.

OOKapitan

       Здравствуйте.
       Я сейчас работаю в OpenOffice Calc, и мне часто приходится печатать более 40 файлов сразу. Выделить все, ПКМ, печать у меня не работает. Скажите, пожалуйста, может есть макрос, позволяющий печатать все файлы в той же папке, в которой находится файл, откуда этот макрос запускается? Раньше я работал в Эксель, но на работе установлен только OpenOffice,поэтому сейчас работаю в нём. Если эксель-макросы я более-менее знаю, то в макросах OO я ничего не понимаю. Помогите, пожалуйста.

mikekaganski

Попробуйте сделать без макроса, скриптом.
Если у Вас Windows, Вы можете сделать bat-файл со строкой

for %%f in ("%1\*.*") do C:\Prorgam Files\OpenOffice\program\soffice.exe -p "%%f"

Этот скрипт распечатает все файлы папки, переданной первым аргументом, на принтер по умолчанию. Для его запуска Вы можете из проводника просто "перетащить" папку целиком на ярлык скрипта.

Если Вам нужен определённый принтер, Вы можете вместо этого написать

for %%f in ("%1\*.*") do C:\Prorgam Files\OpenOffice\program\soffice.exe --pt "ИмяПринтера" "%%f"
С уважением,
Михаил Каганский

OOKapitan

Большое спасибо
А второй код делает то же, что и первый, только можно указать имя Принтера?
Под Windows 8 эти батники будут работать?

И для повышения уровня знаний OpenOffice можно всё- таки увидеть пример макроса по печатать файлов в папке.

Rafik

Цитата: OOKapitan от 24 апреля 2017, 15:44
... можно всё- таки увидеть пример макроса по печатать файлов в папке.
Во вложенном файле один из возможных вариантов + домашнее задание.

OOKapitan

     Здравствуйте.
     К сожалению в силу определённых обстоятельств я долго не мог ни проверить ничего, ни ответить.
     Итак: макрос из файла в посте перед этим не работает. Что я делаю: настроил принтер, нажимаю на кнопку (единственную в файле), выбираю файл - он пишет, что файлы напечатаны, но по факту ничего не печатается. Помогите, пожалуйста.


bigor

У меня макрос работает. Раскомментируйте строчку  print   getPrinterName и проверьте на какой принтер идет печать
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

OOKapitan

Цитата: Bigor от  1 августа 2017, 12:27У меня макрос работает. Раскомментируйте строчку  print   getPrinterName и проверьте на какой принтер идет печать
У меня начинает жужжать нужный мне принтер, как если бы он начинал печатать, но печати не происходит. Помогите, пожалуйста.indows
Да, у меня Windows 8, принтер подключён к ПК по сети (но нужен интернет для работы принтера- он есть).

OOKapitan

  Посмотрел - там несколько взаимосвязанных макросов в файле.
Макрос - PrintMyDoc (если запустить именно его) не работает - вылетает в дебаггер на строку    oPrinter = oDoc.getPrinter() и пишет "Аргумент обязателен". Потому и не работает.
А вообще странные макросы. Они точно для OpenOfficeCalc, а не для Excel?

mikekaganski

Цитата: OOKapitan от 14 августа 2017, 14:46
Макрос - PrintMyDoc (если запустить именно его) не работает - вылетает в дебаггер на строку    oPrinter = oDoc.getPrinter() и пишет "Аргумент обязателен". Потому и не работает.

Посмотрите внимательно. Эта процедура вызывается в Sub PrtMyFiles со всеми необходимыми параметрами. Так что вовсе не "Потому и не работает". А то, что напрямую вызвать процедуру, нуждающуюся в обязательных аргументах, нельзя - так это нормально.
С уважением,
Михаил Каганский

OOKapitan

Цитата: mikekaganski от 14 августа 2017, 12:59Так что вовсе не "Потому и не работает"
А почему же тогда? Очень срочно нужно. Помогите, пожалуйста.

mikekaganski

У Вас что-то не работает, причём "начинает жужжать нужный мне принтер". Кроме того, "нужен интернет для работы принтера" - интересный факт. Нестандартная конфигурация, возможно, что-то не учтено в макросе - но это невозможно определить, не имея среды для тестирования.

Да и вообще, Вы даже не удосужились ответить, помог ли первый совет, и если нет, то чем.
С уважением,
Михаил Каганский

OOKapitan

Цитата: mikekaganski от 14 августа 2017, 13:36Да и вообще, Вы даже не удосужились ответить, помог ли первый совет, и если нет, то чем.
Первый совет - вообще ничего не делает. Какая-то обработка идёт, но ничего не печатается. У нас в фирме принтер подключён по сети ко всем ПК Офиса. Если интернета нет - принтер недоступен для печати. Также, если важно, файлы имеют расширение xls (экселевское), несмотря на работу в OpenOffice (так нужно потому, что у руководства эксель). Но макрос нужен именно для OpenOfficeCalc

mikekaganski

А Вы пробовали (на всякий случай) LibreOffice? Возможно, разницы не будет, но всё же. Его можно установить portable, если необходимо потестировать.
С уважением,
Михаил Каганский

OOKapitan

Цитата: mikekaganski от 14 августа 2017, 13:45Его можно установить portable, если необходимо потестировать
Чтобы что-то установить нужен админский пароль - я не хочу спрашивать.