Word VBA質問箱 IV

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

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


108 / 308 ツリー ←次へ | 前へ→

【554】Word書式 to OutLook本文 Word To OutLook 08/2/27(水) 14:45 質問[未読]
【557】Re:Word書式 to OutLook本文 H. C. Shinopy 08/2/27(水) 22:34 回答[未読]
【558】Re:Word書式 to OutLook本文 Word To OutLook 08/2/28(木) 6:53 お礼[未読]
【559】Re:Word書式 to OutLook本文 H. C. Shinopy 08/2/28(木) 20:23 回答[未読]
【560】Re:Word書式 to OutLook本文 マルチネス 08/3/1(土) 18:41 発言[未読]
【562】Re:Word書式 to OutLook本文 Word To OutLook 08/3/5(水) 0:28 お礼[未読]

【554】Word書式 to OutLook本文
質問  Word To OutLook  - 08/2/27(水) 14:45 -

引用なし
パスワード
   初めて質問させて頂きます。どうぞよろしくお願いいたします。

質問 WordVBAでWord文書を編集し、その後OutLookの新規メールを作成し、
   その本文にWord文書を書式付で自動で貼り付けしたいのですが、なにか良い   方法はありませんでしょうか?
   
   (現状)
   現時点では、OutLook起動、新規メール作成まではできているのですが、
   メール本文貼り付け時点で書式(フォント、タブ)などが解除されて
   しまいます。OutLookの編集にWORDを設定していますが、
   String型変数では書式がなくなり、getfromclipboardをしようしても
   書式がなくなってしまいます。

よろしくお願いします。

【557】Re:Word書式 to OutLook本文
回答  H. C. Shinopy  - 08/2/27(水) 22:34 -

引用なし
パスワード
   まずは、下記をお試し下さい。

手作業の場合:
1. メニューバーから[ファイル]をクリックして、
2. [送信]から[メールの宛先]を選択する。
[宛先]にメールアドレスを入力する。
3. [コピーの送信]を押して送信。
(おそらく自動でHTML形式で送信)


VBAの場合:
やはり、HTML形式でメールを作成します。
下のマクロは、取り敢えず参照設定なしでも動きます。
Sub MyWdMail00()
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem Word文書内容電子メール送信処理
 Rem 言語:Word VBA
 Rem 機能...
 Rem  Wordの文書上にあるデータをコピーして、
 Rem  電子メールの本文に貼り付け送信する。
 Rem 注記...
 Rem  1. Microsoft Outlook上で、下記の手作業による事前設定が必要。
 Rem   Microsoft Outlookのメニューバーの[ツール]から[オプション...]をクリックし、
 Rem   [メール形式]タブの[電子メールの編集にMicrosoft Wordを使用する]チェックボックスを
 Rem   オンにする。(既定値)
 Rem 履歴...
 Rem  第1版:2006/06/06:作成。
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 参照設定する場合...
 Rem  Microsoft Outlook 10.0 Object Library
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Dim myOutlook As Variant ' Outlook.Application
 Dim myMail As Variant ' MailItem
 '
 Selection.WholeStory
 Selection.Copy
 Selection.Collapse wdCollapseStart
 '
 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)
 myMail.Subject = "このメールはテストです。"
 myMail.To = "xxxxxxxxx@xxx.com";
 myMail.BCC = "xxxxxx@xxxx.ne.jp";
 ' myMail.Body = "下記の通り、お知らせ致します。" & vbCrLf & vbCrLf
 myMail.FlagRequest = "酷い!"
 myMail.Importance = 2 ' = olImportanceHigh
 Rem  olImportanceHigh olImportanceLow olImportanceNormal
 Rem メッセージ形式...
 Rem  テキスト形式の場合、書式設定(文字色・蛍光ペン書式など)は無効になる。
 myMail.BodyFormat = 2 ' 1 = olFormatPlain / 2 = olFormatHTML
 myMail.Display
 '
 Selection.EndKey Unit:=wdStory, Extend:=wdMove
 On Error Resume Next ' 文書に何も入力されていない場合に対処。
 Selection.Paste
 On Error GoTo 0
 '
 '
 Set myOutlook = Nothing
 Set myMail = Nothing
End Sub ' MyWdMail00 *----*----*  *----*----*  *----*----*  *----*----*

【558】Re:Word書式 to OutLook本文
お礼  Word To OutLook  - 08/2/28(木) 6:53 -

引用なし
パスワード
   ▼H. C. Shinopy さん:
ご回答ありがとうございます。

質問の内容が言葉不足でした。メールはリッチテキスト形式で
送信したいのです。すいませんでした。

以前、下記にご提示いただいたものとよく似たコードを
どこかで見つけて試してみたのですが、うまくいきませんでした。

mymail.display後の、selection.endkey・・・ですが、この時点で
対象がWordに戻ってしまい、ドキュメント内でペーストされて
しまいます。OutLook側ではWordのメソッド等に対応していない様で、
Mymail.body.Paste等も実行できませんでした。

色々と試したのですが、mymail.body以降は "="による設定しか
うまくいきませんでした。

せっかくご回答頂いたのにもうしわけありませんでした。

【559】Re:Word書式 to OutLook本文
回答  H. C. Shinopy  - 08/2/28(木) 20:23 -

引用なし
パスワード
   不具合についてですが、また下記を試してみて下さい。

このマクロには、処理上の前提があります。
Microsoft Outlookのメニューバーの[ツール]から[オプション...]をクリックし、
[メール形式]タブの[電子メールの編集にMicrosoft Wordを使用する]チェックボックスをオンにする必要があります。

それからリッチテキストの場合は、
「 myMail.BodyFormat = 3 」として下さい。

【560】Re:Word書式 to OutLook本文
発言  マルチネス  - 08/3/1(土) 18:41 -

引用なし
パスワード
   http://www.vbalab.net/bbspolicy.html

>VBA質問箱基本ポリシー
>マルチポストについて
>別のサイト(掲示板)にまったく同じ目的の投稿をすることを、一般に「マルチポスト」といいます。当質問箱では、マルチポストは原則認めています。つまり、ほかのサイトで質問したことをこのサイトで質問してもかまわないということです。

>しかし、もしマルチポストをするのなら、可能な限り「○○にも同じ質問を出しました」ということを宣言してください。そして、仮に他のサイトで解決したのなら、ここにも必ずその顛末を書いてください。質問しっぱなし、というのはモラルに反します。「解決したからいいや」というのではありません。

↓重要!
>また、マルチポストを明示的に禁止しているサイトとのマルチポストをしてはいけません。

【562】Re:Word書式 to OutLook本文
お礼  Word To OutLook  - 08/3/5(水) 0:28 -

引用なし
パスワード
   失礼いたしました。
ご指摘ありがとうございました。

▼マルチネス さん:
>http://www.vbalab.net/bbspolicy.html
>
>>VBA質問箱基本ポリシー
>>マルチポストについて
>>別のサイト(掲示板)にまったく同じ目的の投稿をすることを、一般に「マルチポスト」といいます。当質問箱では、マルチポストは原則認めています。つまり、ほかのサイトで質問したことをこのサイトで質問してもかまわないということです。
>
>>しかし、もしマルチポストをするのなら、可能な限り「○○にも同じ質問を出しました」ということを宣言してください。そして、仮に他のサイトで解決したのなら、ここにも必ずその顛末を書いてください。質問しっぱなし、というのはモラルに反します。「解決したからいいや」というのではありません。
>
>↓重要!
>>また、マルチポストを明示的に禁止しているサイトとのマルチポストをしてはいけません。

108 / 308 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
207136
(SS)C-BOARD v3.8 is Free