0
私は、特定の範囲のコンテンツをOutlook電子メールにペーストするボタンを追加しようとしています。そうすることによって、私は次のコードを使用しています:Excel VBA RangeToHTML
Private Sub CommandButton4_Click()
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Range("P25:P32,Q25:Q32,R25:R32,S25:S32,T25:T32").Select
Set rng = Nothing
On Error Resume Next
Set rng = Selection.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected"
Exit Sub
End If
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = Range("F22").Value
.CC = ""
.BCC = ""
.Subject = Range("F23").Value
.HTMLBody = RangetoHTML(rng)
If Toggle_3.Value = True Then
.Display
ElseIf Toggle_4.Value = True Then
.Send
End If
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing
Set OutApp = Nothing
Call SaveFile
End Sub
私が持っているために使用されるコードの行7時
「P25:T32」を、私はそれがしてきたかもしれないと思ったので、私はそれにそれを変更するものエラーが発生しました。
ボタンをクリックすると、それは私にエラーメッセージを表示します。
Subまたは関数が
を定義し、それが.HTMLBody = RangetoHTML(rng)
ラインを強調されていません。
私は間違っていますか?
「私は間違っていますか?」:[Ron de Bruin](https://www.rondebruin.nl/win/s1/outlook/bmail2.htm)の半分のコードしかコピー&ペーストしていないので、コードがどのように動作するかを理解しよう。 –
'Function RangetoHTML(rng As Range)'がありません。私の最初のコメントのリンクを参照してください。 –