私の目標は、LibreOffice calc シートに入力し、ユーザーが送信ボタンをクリックしたときに (そしてもう一度確認するために)、電子メールでセル範囲を静かに送信することです。
したがって、これには 3 つの部分があります。
- 確認を要求する押しボタン。(簡単で完了です。)
- セル範囲を選択し、リッチテキスト形式に変換します (まだ見つかりません)
- シート内からリッチ テキスト メールを送信します。(「サイレント」部分は後で扱います)
unoService を使用して範囲をクリップボードにコピーしようとしましたが、複雑すぎてエラーがいっぱいのようでした。
ここに私が持っているものがあります:
''''Send by e-mail enriched text
Sub Main
Dim Doc, Sheet, Range, Rtf, Exec as Object
End Sub
'Confirm it
Sub SendTableApproval
If MsgBox ("Ready to email?", MB_YESNO + MB_DEFBUTTON2) = IDYES Then
CopyTable()
End If
End Sub
'Copy it
Sub CopyTable
Doc = ThisComponent
View = Doc.CurrentController
Frame = View.Frame
Sheet = Doc.Sheets.getByIndex(0)
Range = Sheet.getCellrangeByName("a1:f45")
Exec = createUnoService("com.sun.star.frame.DispatchHelper")
View.Select(Range)
Cells = View.getTransferable()
Exec.executeDispatch(Frame, ".uno:Deselect", "", 0, array())
'SimpleMailTo(Cells)
End Sub
'Mail it
Sub SimpleMailTo(body)
Dim launcher as object
Dim eAddress, eSubject, eBody, aHTMLanchor as string
launcher = CreateUnoService("com.sun.star.system.SystemShellExecute")
eAddress = "tu@domo.eg"
eSubject = "Cotidie agenda futuendane"
eBody = body
aHTMLanchor = "mailto:" & eAddress & "?subject=" & eSubject & "&&body=" & eBody
launcher.execute(aHTMLanchor, "", 0)
End Sub
メソッド、プロパティ、uno についての 3 日間の調査の後でも、私はまだわかりません。
私の質問は、簡単に言えば、転送可能なコンテンツを HTML/RTF に変換するにはどうすればよいですか?