私はJS/HTMLに広範囲に使用するVBAマクロを変換しようとしています。現在選択されている範囲を受け取り、コンテンツが電子メールアドレスのように見えるかどうかを確認し、それらの人々への電子メールを作成します。Excelアドイン(js)から電子メールを送信する方法
フレームワークは機能していますが、Excelアドインから電子メールを送信する方法を見つけることはできません。 ExcelホストからOutlook API(office.mailbox)にアクセスできないようです。
mailtoを使用していますが、私は長い身体や何百もの受信者を指定しているため、サイズ制限が不十分です。 VBAで
window.location.href = "mailto:[email protected]
マクロは次のようになります。
Sub EmailSelected()
Dim OutlookApp As Object
Dim Mess As Object, Recip As String
Dim selRange As Range
' If there is only one cell selected, don't call SpecialCells, it messes up
If selection.Count = 1 Then
Set selRange = selection
Else
Set selRange = selection.SpecialCells(xlCellTypeVisible)
End If
' If the first cell contains an email address, send as email.
If InStr(selRange.Item(1).Value, "@") > 0 Then
For Each c In selRange.Cells
Recip = Recip & c.Value & ";"
Next
Set OutlookApp = CreateObject("Outlook.Application")
Set Mess = OutlookApp.CreateItem(olMailItem)
If selRange.Count = 1 Then
Mess.To = Recip
Else
Mess.BCC = Recip
End If
Mess.Display
Else
' google the cell contents
For Each c In selRange.Cells
Recip = Recip & c.Value & " "
Next
ActiveWorkbook.FollowHyperlink ("http://www.google.ca/search?q=" & Recip)
End If
End Sub
別のオプションは、(次善のが、仕事ができる)アドイン私のExcelからマクロを呼び出すことになります。しかし、私はこれを行う方法を見つけることができません。何かご意見は?
ありがとうございました。グラフapiを調べます。この周りに他の方法がないように見えます。私はあなたが他のホストからOutlook APIにアクセスすることができないことはちょっと奇妙だと思います。オフィスは統一された製品であり、これはあらゆる種類の異なるケースでこれが役に立つと思います – Leo