こんにちは私はあなたのコードを使用してExcelの範囲を電子メールの添付ファイルとして送信していますが、範囲をキャンセルすると実行時エラーが発生します。 これを防ぐために追加できるコードやメッセージボックスはありますか? 以下のコードに感謝します。
Sub SendRange()
文字列としての薄暗いxFile
薄暗いxFormatと同じくらい
ワークブックとしての薄暗いWb
ワークブックとしての薄暗いWb2
ワークシートとして薄暗い
文字列としての薄暗いFilePath
文字列としての薄暗いファイル名
OutlookAppをオブジェクトとして薄暗くする
OutlookMailをオブジェクトとして薄暗くする
範囲として薄暗いWorkRng
xTitleId="例"
Set WorkRng = アプリケーション.選択
WorkRng = Application.InputBox( "Range"、xTitleId、WorkRng.Address、Type:= 8)を設定します
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Wb=Application.ActiveWorkbookに設定します
Wb.ワークシート.追加
Ws=Application.ActiveSheetに設定します
WorkRng.Copy Ws.Cells(1、1)
Ws.コピー
Wb2=Application.ActiveWorkbookに設定します
CaseWb.FileFormatを選択します
ケースxlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
ケースxlOpenXMLWorkbookMacroEnabled:
Wb2.HasVBProjectの場合
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
他
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
終了する場合
ケースExcel8:
xFile = ".xls"
xFormat = Excel8
ケースxlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
選択して終了
FilePath = Environ $( "temp")& "\"
FileName = Wb.Name&Format(Now、 "dd-mmm-yy h-mm-ss")
OutlookApp = CreateObject( "Outlook.Application")を設定します
OutlookMail = OutlookApp.CreateItem(0)に設定します
Wb2.SaveAs FilePath&FileName&xFile、FileFormat:= xFormat
OutlookMailを使用
.To = ""
.CC = ""
.BCC = ""
.Subject="テスト"
.Body="こんにちは。"
.Attachments.Add Wb2.FullName
。送信
最後に
Wb2.閉じる
FilePath&FileName&xFileを強制終了します
OutlookMail=Nothingを設定します
OutlookApp=Nothingを設定します
Ws.削除
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Subの