私は次のコード ( Ron de Bruinの好意による) を持っており、自分で使用するためにそれをカスタマイズする方法を見つけようとしています。
コードを実行しても何も起こりません (エラー ハンドラーが「範囲外の添字」でマクロを停止するため)、
ただし、行を変更すると:
ActiveWorkbook.EnvelopeVisible = False
に:
ActiveWorkbook.EnvelopeVisible = True
目に見える封筒により、選択を行い、送信先などを選択できます.
「範囲外」エラーが発生する理由と、イベントが発生した後に入力する必要なくプロセスを自動的に実行できるかどうか疑問に思っています [Workbook_Open() イベントから発生しています-それが違いを生み、同じワークブック内の別のワークシート (Worksheet("ValLog")) で選択が行われている場合]
私が実行しているコードは次のとおりです。
Private Sub workbook_open()
Dim AWorksheet As Worksheet
Dim Sendrng, rng As Range
Dim answer As Integer
On Error GoTo StopMacro
answer = MsgBox("Do you want to send e-mail notifications of upcoming tours?", vbYesNo)
If answer = vbYes Then
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Sendrng = Worksheets("ValLog").Range("B5:K12").Select
With Sendrng
'Select the range you want to mail
Range("B5:K12").Select
' Create the mail and send it
ActiveWorkbook.EnvelopeVisible = True
With .Parent.MailEnvelope
.Introduction = "Test Test Test"
With .Item
.To = "myemail@blahblah.com"
.CC = ""
.BCC = ""
.Subject = "Why, Error?"
.Send
End With
End With
StopMacro:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
ActiveWorkbook.EnvelopeVisible = False
End With
Else
'Do Nothing
End If
End Sub