[[20130731144645]] 『メール作成について』(あん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『メール作成について』(あん)
Win7 Excel2013 Outlook 2013

エクセルからアウトルックの新規メール作成を立ち上げています
コードは、下記のとおりです(HP調べて貼り付けただけです)

コマンドボタンを押下したら エラーとなります
実行時エラー462 リモートサーバがないか使用できる状態ではありません となります。

しかし、ボタンをゆっくり押下するとエラーにならない場合もあります。
何が問題なんでしょうか? 

それと、6行目の所ですが、6行から20行となってますが20行の所を変数にすることは可能でしょうか? アウトルックで余計な改行が入りこまってます。

Private Sub CommandButton1_Click()

 Dim oMail As Outlook.MailItem
 Dim I As Long
 Dim strMailBody As String
 Set oMail = Outlook.CreateItem(olMailItem)
 For I = 6 To 20
 strMailBody = strMailBody & Worksheets("Sheet1").Cells(I, "B") & Worksheets("Sheet1").Cells(I, "C") & vbCrLf
 Next
 With oMail
 .To = Worksheets("Sheet1").[B1]
 .CC = Worksheets("Sheet1").[B2]
 .BCC = Worksheets("Sheet1").[B3]
 .Subject = Worksheets("Sheet1").[B4]
 .Body = strMailBody
 .Display
 End With
End Sub

皆様よろしくお願いいたします


 エラーが出ているのはどの行でしょうか。
 ボタンを押す速度は関係ないと思いますが、このあたりを参照されてはどうかと思います。
http://support.microsoft.com/kb/178510/ja

 後半の部分は、下記のように変更でどうでしょうか。
    Dim tmpLine As String
    Dim i  As Long
    For i = 20 To 6 Step -1
        tmpLine = Worksheets("Sheet1").Cells(i, "B").Value & Worksheets("Sheet1").Cells(i, "C").Value
        strMailBody = tmpLine & IIf(strMailBody = "", "", vbCrLf & strMailBody)
    Next
 (Mook)

Mook様 ありがとうございます
エラーの出る行は、Set oMail = Outlook.CreateItem(olMailItem) こちらです

色々試してみたら、アウトルック自体が立ち上がっていないとエラーになっているようです。当たり前のことなのでしょうか?出来れば立ち上げたくないのですが・・・

後半の部分は変更してみました(コードは理解できておりませんが)希望のと通りです ありがとうございます。

よろしくお願いいたします(あん)


 >(コードは理解できておりませんが)
 コードを理解してください。

 メール関連オブジェクトを操作するにはOutLook が必要のようですね。参照先のように
http://www.red.oit-net.jp/tatsuya/vb/Outlook.htm
 Set oOL   = CreateObject("Outlook.Application")
 Set oMail = oOL.CreateItem(olMailItem)
  :
 oOL.Quit '//  処理の最後に(終了)

 とやっても出来そうです。内部的には OutLook を起動しているのですが、外見だけでも
 あがっていないように見えればそれでいいというのであれば、お試し下さい。
 (Mook)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.