Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

15 Ноябрь 2019, 22:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4 5 6 7 8 9 »   Вниз
  Печать  
Автор Тема: макрос для печати всех файлов в той же папке, в которой находится файл с макросо  (Прочитано 21045 раз)
0 Пользователей и 1 Гость смотрят эту тему.
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 816


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #105: 18 Октябрь 2017, 11:53 »

В Apache OpenOffice такие же настройки принтера (за исключением одного параметра) как и в LibreOffice. В том же меню"Файл".
Записан

alpold
Форумчанин
***
Offline Offline

Сообщений: 109


« Ответ #106: 10 Апрель 2019, 07:53 »

По мне, так проще сделать нужный принтер по умолчанию  в системе.
НО если хочется что бы макрос выводил  печать на определенный принтер , то смотри приложенный файл. В  PrintName надо прописать имя нужного принтера (как он называется в системе)
а есть возможность выбор принтера сделать в ячейки с выпадающий списком где будут прописаны имена принтеров?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 734


« Ответ #107: 10 Апрель 2019, 09:22 »

а есть возможность выбор принтера сделать в ячейки с выпадающий списком где будут прописаны имена принтеров?
это как? на листе есть список принтеров, установленных на конкретной машине, вы при редактировании листа выбираете нужный принтер из списка и запускаете макрос?
тогда примерно так:
Код:
PrintName = ThisComponent.Sheets(номер листа со списком принтеров).getCellbyPosition(столбец ячейки со списком принтеров,строка ячейки со списком принтера).string


Есть еще вариант в сам макрос вписать диалог выбора принтера.
« Последнее редактирование: 10 Апрель 2019, 17:29 от Bigor » Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 109


« Ответ #108: 10 Апрель 2019, 13:55 »

а есть возможность выбор принтера сделать в ячейки с выпадающий списком где будут прописаны имена принтеров?
это как? на листе есть список принтеров, установленных на конкретной машине, вы при редактировании листа выбираете нужный принтер из списка и запускаете макрос?
тогда примерно так:
Код:
PrintName = ThisComponent.Sheets(номер листа со списком принтеров).getCellbyPosition(столбец ячейки со списком принтеров,строка ячейки со списком принтера).string
имена принтеров должны быть в кавычках.

Есть еще вариант в сам макрос вписать диалог выбора принтера.
Вот файл чтобы понятнее было про что я. Плюс нужно чтобы он автоматом ставил двухстороннюю печать. Это идеальный вариант бы был для меня например. А то выходит так , что работаю каждый день в разном кабинете...соответсвтенно принтер разный..в основном файле много информации которая постоянно меняется...и постоянно печатается одинаковый страниц но с другого листа, в котором формируется бланк ...потому приходится каждый раз заходить во второй лист жать там печать...проверять столит ли двухстоолнняя печать....было бы отлично если бы это можно было делать кнопкой с первого листа а второй вообще скрыть чтобы в нем никто ничего не сбил....а отдельные листы с этого бланка иногда нужно перепечатывать когда чтото закосячил...и опять же приходится считать какой лист запортачил и его отдельно заходить печатать

* 1.ods (9.75 Кб - загружено 2 раз.)
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 734


« Ответ #109: 10 Апрель 2019, 15:48 »

Не знаю, как сейчас, а лет 7 назад, рулить свойством печати позволяли не все сборки ООО/LOO. Умные люди предложили вариант
Цитата:
Управление принтером - это уже почти ВНЕ самого ОО. Может быть создать макрос, который не будет менять никаких настроек, кроме выбора принтера (печатать не на принтере по умолчанию, а на особом принтере). А этот особый (может быть просто копия принтера по умолчанию) уже можно настроить как угодно в Панели управления\Принтеры и факсы
под это дело был написан макрос:
Код:
sub NewPrinter2to1

Dim oOpts(1) as New com.sun.star.beans.PropertyValue
Dim oDoc        'Документ для печати.
Dim oPrinter    'Массив свойств, которые определяют принтер.
Dim sPrinter$   'Имя принтера.

oDoc=ThisComponent
REM Установка имени принтера как известно системе.
sPrinter = "Print2to1" ' имя принтера в системе настроенного на печать 2 страницы на лист 

oPrinter = oDoc.getPrinter()
For i = LBound(oPrinter) to UBound(oPrinter)
  If oPrinter(i).Name = "Name" Then
    oPrinter(i).Value = sPrinter
  End If
Next i

oDoc.setPrinter(oPrinter)

oOpts(0).Name = "Name"
oOpts(0).Value = "<" & sPrinter & ">"
oOpts(1).Name = "Wait"
oOpts(1).Value = True
oDoc.Print(oOpts())
End Sub

Вам остается прописать принтер Print2to1 на всех машинах где вы печатаете, и в его свойствах установить двухстороннюю печать.
 Если нужно печатать постоянно только второй лист, то после oOpts(1).Value = True вставить строчку
Код:
ThisComponent.CurrentController.setActiveSheet(oDoc.Sheets(1))
, если листы хотите выбирать, то мудрите сами Улыбка
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 109


« Ответ #110: 10 Апрель 2019, 16:04 »

Не знаю, как сейчас, а лет 7 назад, рулить свойством печати позволяли не все сборки ООО/LOO. Умные люди предложили вариант
Цитата:
Управление принтером - это уже почти ВНЕ самого ОО. Может быть создать макрос, который не будет менять никаких настроек, кроме выбора принтера (печатать не на принтере по умолчанию, а на особом принтере). А этот особый (может быть просто копия принтера по умолчанию) уже можно настроить как угодно в Панели управления\Принтеры и факсы
под это дело был написан макрос:
Код:
sub NewPrinter2to1

Dim oOpts(1) as New com.sun.star.beans.PropertyValue
Dim oDoc        'Документ для печати.
Dim oPrinter    'Массив свойств, которые определяют принтер.
Dim sPrinter$   'Имя принтера.

oDoc=ThisComponent
REM Установка имени принтера как известно системе.
sPrinter = "Print2to1" ' имя принтера в системе настроенного на печать 2 страницы на лист 

oPrinter = oDoc.getPrinter()
For i = LBound(oPrinter) to UBound(oPrinter)
  If oPrinter(i).Name = "Name" Then
    oPrinter(i).Value = sPrinter
  End If
Next i

oDoc.setPrinter(oPrinter)

oOpts(0).Name = "Name"
oOpts(0).Value = "<" & sPrinter & ">"
oOpts(1).Name = "Wait"
oOpts(1).Value = True
oDoc.Print(oOpts())
End Sub

Вам остается прописать принтер Print2to1 на всех машинах где вы печатаете, и в его свойствах установить двухстороннюю печать.
 Если нужно печатать постоянно только второй лист, то после oOpts(1).Value = True вставить строчку
Код:
ThisComponent.CurrentController.setActiveSheet(oDoc.Sheets(1))
, если листы хотите выбирать, то мудрите сами Улыбка

замудрено очень. Я в макросах вообще чайник...Я врач..поэтому далек от этого...
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 734


« Ответ #111: 10 Апрель 2019, 17:28 »

Да с макросом все как раз просто. См. вложение.
Сложнее принтер прописать правильно.

* Test_print_2to1.ods (12.11 Кб - загружено 3 раз.)
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 109


« Ответ #112: 10 Апрель 2019, 18:46 »

Да с макросом все как раз просто. См. вложение.
Сложнее принтер прописать правильно.
не совсем пойму , что значит принтер прописать?Его какойто виртуальный надо сделать?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 734


« Ответ #113: 11 Апрель 2019, 09:20 »

что значит принтер прописать?Его какойто виртуальный надо сделать?
Ох, не могу я грамотно писать Грустный В общем не прописать, а установить еще один принтер с использованием драйвера существующего с именем Print2to1 Улыбка См. картинки, там наверно понятнее Улыбка

ps если у вас есть какой админ, то лучше пусть он этим займется Улыбка

* PrintSetup.pdf (182.44 Кб - загружено 2 раз.)
« Последнее редактирование: 11 Апрель 2019, 09:41 от Bigor » Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 109


« Ответ #114: 11 Апрель 2019, 13:42 »

что значит принтер прописать?Его какойто виртуальный надо сделать?
Ох, не могу я грамотно писать Грустный В общем не прописать, а установить еще один принтер с использованием драйвера существующего с именем Print2to1 Улыбка См. картинки, там наверно понятнее Улыбка

ps если у вас есть какой админ, то лучше пусть он этим займется Улыбка
Огромное спасибо))) проблема ток в том что на работе линукс)
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 734


« Ответ #115: 11 Апрель 2019, 14:27 »

Улыбка Пишите уже какой, вечером посмотрю как в Линукс это сделать. Или напрягите своего админа
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 109


« Ответ #116: 11 Апрель 2019, 16:44 »

Улыбка Пишите уже какой, вечером посмотрю как в Линукс это сделать. Или напрягите своего админа
да не парься...подскажи более простой вариант....как с первого листа нажимать на копку созданную печать, но чтобы вылетало окно для печати скрытого листа? желательно с уже вбитым нужным мне диапазоном страниц?пофиг принтер выбрать 1 раз надо всего вначале работы.
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 734


« Ответ #117: 11 Апрель 2019, 17:01 »

смотри макрос в моем файле, там комментарий есть. Только там нет разбивки на нужные страницы, но rami показал как это сделать

ps нет, не получается передать в форму печати, данные о страницах. Надо думать Грустный
« Последнее редактирование: 11 Апрель 2019, 17:17 от Bigor » Записан
Rafik
Форумчанин
***
Offline Offline

Сообщений: 96


« Ответ #118: 12 Апрель 2019, 07:16 »

проблема ток в том что на работе линукс)
Если на машине стоит убунту, то насчёт установки принтера с нужными настройками по умолчанию, можно обратиться на форум убунты. Обычно быстро отвечают, если у кого-то есть какие-то идеи или готовые решения.
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 734


« Ответ #119: 12 Апрель 2019, 11:27 »

Иногда полезно мануалы читать Улыбка Посмотри этот файл как он у тебя отработает

* Test_print_2to1_v2.ods (12.33 Кб - загружено 2 раз.)
Записан
Страниц: « 1 2 3 4 5 6 7 8 9 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!