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

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

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

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

Сообщений: 465


« Ответ #60: 23 Август 2017, 17:36 »

Bigor,
А как сделать, чтобы макрос давал мне выбирать, откуда печатать файл?
Пытаюсь сделать так:
Код:
...
Dim sPath
  sPath = getFolder("Please select a folder") & GetPathSeparator()
...



Function getFolder(sTitle AS String, optional sInitDir) AS String
   oPicker = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
   oPicker.setTitle(sTitle)
   if not ismissing(sInitDir) then oPicker.setDisplayDirectory(sInitDir)
   if oPicker.execute() then getFolder = oPicker.getDirectory()
End Function
,
но макрос ничего не печатает.
« Последнее редактирование: 23 Август 2017, 17:40 от OOKapitan » Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 465


« Ответ #61: 23 Август 2017, 17:44 »

Да, файлы, открытые в скрытом виде, не печатаются у меня - баг такой.
Записан
rami
Гуру
*******
Online Online

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #62: 23 Август 2017, 19:30 »

но макрос ничего не печатает.
В строке кода sPath = getFolder("Please select a folder") & GetPathSeparator() не нужен GetPathSeparator() так как путь к папке всегда возвращается с разделителем на конце, а вы ему добавляете ещё один, лишний, который воспринимается как пустая папка без имени и без содержимого. Естественно, из пустой папки нечего печатать.
Записан

Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #63: 23 Август 2017, 23:35 »

Ваш последний макрос у меня выдаёт ошибку (см. скрин). Помогите исправить, пожалуйста.
Проблема в том, что я поленился и здесь
Код:
If sFileName <> "print_catalog_2.odt" then
указал имя файла с макросом явно. У вас же судя по скрину имя файла print_catalog_2(1).odt, вот он пытается себя еще раз открыть и не может  Грустный
Выход такой или использовать имя, которое использовал я, или получить имя файла, например из
Код:
sFileName=ThisComponent.getURL()
и использовать его.
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 465


« Ответ #64: 24 Август 2017, 10:28 »

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

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


« Ответ #65: 24 Август 2017, 11:57 »

покажите скрин с ошибкой. Скорее всего у вас пробел после _2 остался
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 465


« Ответ #66: 24 Август 2017, 11:59 »

покажите скрин с ошибкой. Скорее всего у вас пробел после _2 остался
Прилагаю скрин


* ОШИБКА1.jpg (287.33 Кб, 1366x768 - просмотрено 18 раз.)
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 465


« Ответ #67: 24 Август 2017, 12:02 »

И можно ли в Вашем макросе сделать так, чтобы он печатал файлы из папки, которую я выбрал, а не только из C:\printpath?
Записан
Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #68: 24 Август 2017, 12:18 »

Еще один косяк, при открытии файла, создается скрытый файл, его тож надо не пускать на печать. вот исправленный файл, который позволяет выбрать папку из которой хотите печатать.


* print_catalog_2.odt (20.48 Кб - загружено 17 раз.)
« Последнее редактирование: 24 Август 2017, 12:30 от Bigor » Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 465


« Ответ #69: 24 Август 2017, 12:41 »

вот исправленный файл, который позволяет выбрать папку из которой хотите печатать.
Увы он печатает только сам себя.
Как же я мог забыть: у меня файлы с расширением xls (экселя). Поправьте код, пожалуйста.
« Последнее редактирование: 24 Август 2017, 12:42 от OOKapitan » Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 465


« Ответ #70: 24 Август 2017, 12:47 »

Попробовал второй раз запустить макрос, выбрал папку - ошибка (см. скрин1)
При этом всегда сразу после выбора пути идёт окно (см. скрин2)


* ОШИБКА2.jpg (241.37 Кб, 1366x768 - просмотрено 18 раз.)

* ОКНО.jpg (153.71 Кб, 1366x768 - просмотрено 18 раз.)
Записан
Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #71: 24 Август 2017, 12:58 »

Я вначале выложил файл с ошибкой, потом минут через 5 его поменял, может вы успели неправильный скачать. В текущем тоже, не закомментировал msgbox в функции getFolder, так что каждый раз при выборе папки он будет сообщение выводить с ее именем.
Если можно растяните стек вызовов, что бы было видно какой файл он пытается открыть и сделайте скрин
Записан
rami
Гуру
*******
Online Online

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #72: 24 Август 2017, 13:56 »

Попробуйте:
Код:
Sub Main
Dim oProps(0) as New com.sun.star.beans.PropertyValue
oProps(0).Name="Hidden"
oProps(0).Value=True        'в скрытом режиме
doc=ThisComponent
fold=convertToURL(replace(convertFromURL(doc.URL),doc.Title,""))
fName=Dir(fold & "*.xls",0) 'ищем только с указанным расширением
s=fName
Do
fName=Dir()
If fName="" Then Exit Do
s=s+chr(10)+fName
Loop
If msgbox(s, 36, "Распечатать документы?")=7 Then Exit Sub
files=split(s,chr(10))
For Each f In files
oDoc=StarDesktop.LoadComponentFromUrl(fold & f, "_blank", 0, oProps())
oDoc.Print(Array())
wait 1000      'явная задержка времени одна секунда
oDoc.close(True)
Next
Print "Готово!"
End Sub
Записан

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

Сообщений: 465


« Ответ #73: 24 Август 2017, 14:01 »

Если можно растяните стек вызовов, что бы было видно какой файл он пытается открыть и сделайте скрин
Скачал Ваш новый файл - всё-равно ошибка. Прикладываю скрин.


* ОШИБКА3.jpg (200.09 Кб, 1366x768 - просмотрено 16 раз.)
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 465


« Ответ #74: 24 Август 2017, 14:05 »

Попробуйте:
Файлы, открытые в скрытом виде, у меня не печатаются. Поправьте Ваш макрос, пожалуйста. Сам смог поправить. Макрос работает отлично. Огромнейшее спасибо!!!!!!! Скажите, пожалуйста, как тут поставить + в репутацию?
« Последнее редактирование: 24 Август 2017, 14:07 от OOKapitan » Записан
Страниц: « 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!