※OutlookVBA
Private Declare PtrSafe Function AddClipboardFormatListener Lib "user32.dll" (ByVal hWnd As LongPtr) As Long
Private Declare PtrSafe Sub sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long
Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long
Sub CreateMail() '関数名は何でもOK
Dim tol As Outlook.Application
'Outlookのオブジェクトを生成する
Set tol = CreateObject("Outlook.Application")
Set appExcel = CreateObject("Excel.Application")
Dim CB As New DataObject
Dim hensu As String
'クリップボードをカラにする
OpenClipboard 0
EmptyClipboard
CloseClipboard
modoru:
If appExcel.clipboardFormats(1) = xlClipboardFormatText Then
GoTo tugi
Else
sleep 3000
GoTo modoru
End If
tugi:
With CB
.GetFromClipboard ''クリップボードからDataObjectにデータを取得する
hensu = .GetText ''DataObjectのデータを変数に取得する
End With
' メールを作成する
With tol.CreateItem(0)
.To = "****@****.com" ' 宛先
.CC = "****@****.com" ' Cc
.Subject = "○×△会議の議事録" ' 件名
.Display ' 表示
.Body = "○○様" & vbCrLf & vbCrLf & _
hensu & vbCrLf & vbCrLf & _
"お世話になっております。★★です。" & vbCrLf & vbCrLf & _
"○×△会議の議事録を送ります。" & vbCrLf & vbCrLf & _
"よろしくお願いいたします。" & vbCrLf & vbCrLf '本文
End With
Set tol = Nothing
End Sub