|    | 
     ▼け さん:こんばんわ、ちんといいます。 
ExcelのVBAで、 
普段使用されてるメールソフトがMicrosoft Outlookでしたら、 
VBAでメールソフトを起動し、シートをコピーし、 
テキスト文のみメールに貼り付け、送信する。で、どうでしょうか? 
※Outlook Expressを使用していると、ソースが異なります。 
Microsoft Outlookでのサンプルです。 
 
Sub MAKE_MAIL_ITEM_TEST_NG() 
 
  Dim oApp As Object 
  Dim myNameSpace As Object 
  Dim myFolder As Object 
 
  Dim objMAIL As Object 'メールのオブジェクト 
  Dim strMOJI As String '本文 
 
  'outlook 起動 
  Set oApp = CreateObject("Outlook.Application") 
 
  Set myNameSpace = oApp.GetNamespace("MAPI") 
  Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダーを指定 
  myFolder.Display '表示 いつものクセで .Visible = True とやりがちだけど 
 
  Cells.Select  '*** シートのセル全て選択 
  Selection.Copy '*** シートのコピー 
 
  'メールアイテムの作成 
  Set objMAIL = oApp.CreateItem(0) 'olMailItem=0 直値はいけないと思いつつ、 
  objMAIL.Display  '画面表示(Mail入力、編集画面を表示) 
 
  '宛先・件名・本文 などのデータを代入する 
  objMAIL.To = "******@yahoo.co.jp";      '宛先 ほかに.cc や.Bccも可能です 
   
  objMAIL.Subject = "テスト メールの件名です " '.Subjectに文字列設定で件名 
   
  '本文を作る、(vbCrLfで改行されます) 
  strMOJI = "こんにちは(このメールtest)"  
 
   
  Dim buf As String, buf2 As String, CB As New DataObject 
  buf = "tanaka" 
  With CB 
    .GetFromClipboard  ''クリップボードからDataObjectにデータを取得する 
    buf2 = .GetText   ''DataObjectのデータを変数に取得する 
  End With 
''  MsgBox buf2 
  objMAIL.Body = buf2         '※Excelのコピーしたものをテキスト文のみメールに貼り付け    
  Application.CutCopyMode = False  'クリップボード クリア 
 
  objMAIL.Display  '編集画面のまま止めておきたい時 や テスト中に動作を見たいとき 
  'objMAIL.Save  '保存、下書きへ 保存後、用が無かったら.Closeで閉じるのがいいのかなぁ。。。 
  'objMAIL.Close 2 '閉じる Mailの編集画面を閉じる 
   
  objMAIL.Send  '送信箱へ ※セキュリティの警告メッセージが出るよ 
   
  'ここで、普通はオブジェクトの開放など、後始末をする。 
  Set myFolder = Nothing 
  Set myNameSpace = Nothing 
  Set oApp = Nothing 
 
 
End Sub 
 
 | 
     
    
   |