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

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

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

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3   Вниз
  Печать  
Автор Тема: Создание сообщения Outlook  (Прочитано 17763 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Yakov
Администратор
**
Offline Offline

Сообщений: 2 410


WWW
« Ответ #30: 12 Март 2015, 13:29 »

А почему бы не воспользоваться диспетчером?
Код:
sub Mail
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem получение доступа к документу
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
 
rem задаём реквизиты письма
dim argsMail(1) as new com.sun.star.beans.PropertyValue
argsMail(0).Name = "Recipient"
argsMail(0).Value = "my@mail.ru"
argsMail(1).Name = "Subject"
argsMail(1).Value = "mySubject"
 
rem вызываем почтовый клиент по-умолчанию
dispatcher.executeDispatch(document, ".uno:SendMail", "", 0,argsMail())
 
end sub

Записан

spada
Участник
**
Offline Offline

Сообщений: 30


« Ответ #31: 12 Март 2015, 14:14 »

Диспечером тоже пробовал. Я использовал большее кол-во аргументов. Макрос выполняется но при открытии окна thunderbird тема письма - noname, вложений нет, и Тело письма тоже нет. Грустный


dim argsMail(3) as new com.sun.star.beans.PropertyValue
argsMail(0).Name = "Recipient"
argsMail(0).Value = "my@mail.ru"
argsMail(1).Name = "Subject"
argsMail(1).Value = "mySubject"
argsMail(2).Name = "Body"
argsMail(2).Value = "mySubject"
argsMail(3).Name = "Attachement"
argsMail(3).Value = "file:///home/.../lalala.txt"


Может можно как-то с помощью BASIC вызвать скрипт который  в свою очередь будет совершать отправку письма?

Что значит 0 и "" в этой строке dispatcher.executeDispatch(document, ".uno:SendMail", "", 0,argsMail()) Непонимающий
« Последнее редактирование: 12 Март 2015, 14:16 от spada » Записан
Yakov
Администратор
**
Offline Offline

Сообщений: 2 410


WWW
« Ответ #32: 12 Март 2015, 14:24 »

То есть задача отправить совершенно сторонний файл, а не документ LO?
Записан

rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #33: 12 Март 2015, 14:48 »

Что значит 0 и "" в этой строке dispatcher.executeDispatch(document, ".uno:SendMail", "", 0,argsMail())
Насколько я знаю "" — это целевой фрейм, он должен быть пустой или "_self", 0 — это флаг поиска, только 0 или ничего. Всё это пережитки "великих замыслов"
Записан

spada
Участник
**
Offline Offline

Сообщений: 30


« Ответ #34: 12 Март 2015, 19:24 »

Я так понимаю, что бесику все равно, что отправлять и упаковывать в письмо.  Но у меня задача стоит отправить диапазон ячеек в теле письма, чтоб получатель мог сразу распечатать или документ целиком в формате .xls.


Частично решена проблема с добавлением файла. Нужно зайти Настройки --- вкладка Интернет --- указать почтовую программу испульзуемую по умолчанию. /usr/bin/thunderbird

Тело письма попросту не добавляется т.к. нет такого метода как .setMessageBody  http://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1system_1_1XSimpleMailMessage.html

Зато есть этот метод или библиотека.  Можно ли ее использовать? http://api.libreoffice.org/docs/idl/ref/XSimpleMailMessage2_8idl_source.html
« Последнее редактирование: 13 Март 2015, 23:10 от spada » Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 978


« Ответ #35: 2 Июнь 2016, 16:52 »

Как-то не по себе когда решения не найдено.  Вот предложу такой вариант.
Проверено на "обычном" ThunderBird, OutlookExpress под Windows XP, Vista, 7
Работает ТОЛЬКО в OpenOffice (даже "Portable"), но ни в каком LibreOffice!

Код:
Sub send_email
' Отправляет почту Почтовиком по умолчанию
' Проверено на "обычном" ThunderBird, OutlookExpress под Windows XP, Vista, 7
' Работает ТОЛЬКО в OpenOffice (даже "Portable"), но ни в каком LibreOffice!
' Отправляет интерактивно, с отрытием окна письма в "почтовике" по умолчанию

Dim vAttach(1) ' массив для 2-х вложений (0, 1), если больше - делайте функцией

'eMailer = createUnoService("com.sun.star.system.SimpleCommandMail")
'не сработает нигде, т.к. сервис убран в OpenOffice 4.1.2 и свежих LibreOffice

eMailer = createUnoService("com.sun.star.system.SystemMailProvider")
'это работает в OpenOffice 4.1.2, но НЕ работает в LibreOffice!!!

eMailClient = eMailer.queryMailClient
eMailMessage = eMailClient.createMailMessage()
eMailMessage.Recipient = "pechkin100@mail.ru"
eMailMessage.Subject = "Subject Text"
eMailMessage.Body = "Testing body text"
vAttach(0) = ConvertToUrl("C:\DOWNLOAD\replace.dat")' или "file:///home/.../lalala.txt"
vAttach(1) = ConvertToUrl("C:\DOWNLOAD\replace2.dat")'
eMailMessage.Attachement=vAttach()
eMailClient.sendMailMessage(eMailMessage, 0) ' другие флаги, чтобы убрать появление
'окна почтовика вместо 0 - 1,2, DEFAULTS, NO_USER_INTERFACE, NO_LOGON_DIALOG - ничего
'не дали, окно все равно появляется, но это и не особо напрягает.
End Sub
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: « 1 2 3   Вверх
  Печать  
 
Перейти в:  

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