1

私の目標は、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 に変換するにはどうすればよいですか?

4

1 に答える 1