Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


43251 / 76732 ←次へ | 前へ→

【38531】Re:Sendで送信する際に・・・
回答  H. C. Shinopy  - 06/6/6(火) 0:20 -

引用なし
パスワード
   御質問から日にちが経っておりますので、
取り敢えず参考までにということで…
どういうやり方での送信だったのか判りませんが…
下記のマクロは開いたシートのデータを本文に貼り付けて送信する処理です。
Office XP(Word / Excel / Outlook 2002)で動作を確認しましたが、
2000あるいは2003では動作するかどうか判りません。
(このマクロは参照設定なしでも動作するようにしています。)

Sub MyXlMail()
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem Excelシートデータ電子メール送信処理
 Rem 言語:Excel VBA
 Rem 機能...
 Rem  Excelのシート上にあるデータをコピーして、
 Rem  電子メールの本文に貼り付け送信する。
 Rem 注記...
 Rem  1. Microsoft Outlookで[電子メールの編集にMicrosoft Wordを使用する]を指定しておくこと。
 Rem   Microsoft Outlookのメニューバーの[ツール]から[オプション...]をクリックし、
 Rem   [メール形式]タブの[電子メールの編集にMicrosoft Wordを使用する]チェックボックスを
 Rem   オンにする。
 Rem  2. Microsoft Wordの標準コマンドバーに<送信>コマンドボタンを追加しておくこと。
 Rem   Microsoft Wordのメニューバーの[ツール]から[ユーザー設定...]をクリックし、
 Rem   [ユーザー設定]ダイアログボックスから[コマンド]タブを選択し、
 Rem   [分類]の[すべてのコマンド]を選択して、[コマンド]の[EmailSend]を
 Rem   <標準>コマンドバーにドラッグし、<送信>コマンドボタンを追加する。
 Rem  3. Microsoft Outlookが起動している場合、すぐに電子メールが送信される。
 Rem   起動してない場合は、これを起動して[送受信]ボタンを押して送信する必要がある。
 Rem  4. 警告なしに送信する。
 Rem 履歴...
 Rem  第1版:2006/06/05:作成。
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 参照設定する場合...
 Rem  Microsoft Outlook 10.0 Object Library
 Rem  Microsoft Word 10.0 Object Library
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Dim myOutlook As Variant ' Outlook.Application
 Dim myMail As Variant ' MailItem
 Dim myWord As Variant
 Dim myCmmdBar As CommandBar
 Dim myCtrl As CommandBarControl
 '
 ActiveSheet.UsedRange.Select
 Selection.Copy
 '
 On Error Resume Next
 Set myOutlook = GetObject(, "Outlook.Application")
 If Err.Number <> 0 Then
  Set myOutlook = CreateObject("Outlook.Application")
 End If
 On Error GoTo 0
 '
 Set myMail = myOutlook.CreateItem(0) ' = myOutlook.CreateItem(olMailItem)
 Rem ↓なぜか、本文の末尾に件名の文字が挿入されるため、3文字の空白を件名の先頭に付ける。
 myMail.Subject = "  " & "このメールはテストです。"
 myMail.To = "xxxxxx@msn.com"
 myMail.BCC = "xxxxxx@xxxx.ne.jp"
 myMail.Body = "下記の通り、お知らせ致します。" & vbCrLf & vbCrLf
 myMail.FlagRequest = "凄い!"
 myMail.Importance = 2 ' = olImportanceHigh
 Rem olImportanceHigh olImportanceLow olImportanceNormal
 myMail.Display
 '
 Set myWord = GetObject(, "Word.Application")
 myWord.Selection.EndKey Unit:=6, Extend:=0 ' Unit:=wdStory, Extend:=wdMoveEnd
 myWord.Selection.Paste
 '
 Application.CutCopyMode = False
 Range("A1").Select
 '
 Set myCmmdBar = myWord.CommandBars("Standard") ' 標準
 Set myCtrl = myCmmdBar.FindControl(ID:=3708) ' 送信 ' WordBasic.EmailSend
 myCtrl.Execute
 '
 Set myOutlook = Nothing
 Set myMail = Nothing
 Set myWord = Nothing
 Set myCmmdBar = Nothing
 Set myCtrl = Nothing
End Sub ' MyXlMail *----*----*  *----*----*  *----*----*  *----*----*
3 hits

【36315】Sendで送信する際に・・・ いつもすみません。 06/3/28(火) 16:24 質問
【36316】Re:Sendで送信する際に・・・ inoue 06/3/28(火) 18:07 発言
【36337】Re:Sendで送信する際に・・・ いつもすみません。 06/3/29(水) 10:55 質問
【36343】Re:Sendで送信する際に・・・ inoue 06/3/29(水) 12:34 発言
【38531】Re:Sendで送信する際に・・・ H. C. Shinopy 06/6/6(火) 0:20 回答
【38543】Re:Sendで送信する際に・・・ いつも 06/6/6(火) 11:32 お礼
【39106】メール送信処理 修正 H. C. Shinopy 06/6/17(土) 22:34 回答
【62518】Re:Sendで送信する際に・・・ T-K 09/7/28(火) 14:51 質問
【62522】Re:Sendで送信する際に・・・ neptune 09/7/28(火) 15:26 発言
【62523】Re:Sendで送信する際に・・・ T-K 09/7/28(火) 17:21 お礼

43251 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free