Excelでコマンドボタンクリックでメールを起動し
特定のセル(A1)の値をメール本文に挿入したいです。
メール画面を出すところまでは、探したコードでできたのですが
セルの値を挿入する方法がわからず、どのようなコードを入れたらいいのか
教えていただけないでしょうか?
Private Sub ボタン1_Click() Const HKEY = "HKEY_CLASSES_ROOT\mailto\shell\open\command\" Dim Flg As Boolean Dim Arg As String Dim sPath As String Dim i As Long Dim b() As Byte Dim tmp, ary On Error GoTo errHandler tmp = Selection.Value If IsArray(tmp) Then ReDim ary(1 To UBound(tmp)) For i = 1 To UBound(tmp) ary(i) = Join(Application.Index(tmp, i, 0), "") Next Arg = Join(ary, vbLf) Else Arg = tmp End If '既定メーラー取得(WinXP) With CreateObject("WScript.Shell") sPath = .ExpandEnvironmentStrings(.RegRead(HKEY)) End With sPath = Replace$(Replace$(sPath, """%1""", ""), "%1", "") Flg = InStr(1, sPath, "thunderbird", vbTextCompare) If Flg Then 'thunderbirdだと文字化けしたのでUTFエンコード With CreateObject("ScriptControl") .Language = "JScript" Arg = .CodeObject.encodeURI(Arg) End With Else '簡易的にSJISエンコード b = StrConv(Arg, vbFromUnicode) Arg = "" For i = 0 To UBound(b) Arg = Arg & "%" & Right$("0" & Hex$(b(i)), 2) Next End If Arg = "mailto:メールアドレス?" & _ "subject=お知らせ&" & _ "body=" & Arg Shell sPath & Arg Exit Sub errHandler: MsgBox Err.Number & ":" & Err.Description End Sub
回答1件
あなたの回答
tips
プレビュー