2016-10-11 2 views
0

私は以前にマクロを使用したことがなく、Visual Basic for Applicationsを使用していません。Excelスプレッドシート内のクリックで、好ましくはボタン経由でコードを実行する

私の目的: チェックリストがいっぱいになると、アクティブワークシートを電子メールに添付して、電子メールアドレスと件名を自動入力します。チェックリストを使用している人に応じて、たとえばXXX部分が修正される "Checklist_XXX"になるので、Checklist_12345になる可能性があります。

手順: チェックリストが完成しました。デフォルトではコードが設定されていないActiveXボタンが作成されています。

私は私が必要なものであるように思わ以下のコードをオンラインが見つかりました:

Sub Mail_workbook_Outlook_1() 
    Dim OutApp As Object 
    Dim OutMail As Object 

    Set OutApp = CreateObject("Outlook.Application") 
    Set OutMail = OutApp.CreateItem(0) 

    On Error Resume Next 
    With OutMail 
     .to = "[email protected],[email protected]" 
     .Subject = "Checklist_" 
     .Body = "I have attached my checklist related to change" 
     .Attachments.Add ActiveWorkbook.FullName 
     .Display 
    End With 
    On Error GoTo 0 

    Set OutMail = Nothing 
    Set OutApp = Nothing 
End Sub 

私はこれがないと思う何を:私はそれが添付されたメッセージをOutlookの電子メールを作成し、myemailする@ gmailのを持っていると考えている を.comと[email protected]を、被験者と身体を修正した受信者として追加しました。 .sendから.displayに変更しましたので、私が送信する前に見直すことができます。

短い質問: このコードをExcelスプレッドシート内の1回のクリック、できればボタンで実行するにはどうすればよいですか?

ボタンをクリックし、View Codeを選択:ActiveXのコマンドボタンのクリックにコードを添付する

+0

VB.NET IsNot vba AndAlso is not excel-vbaまた、マクロを実行しません – Plutonix

+2

Mye Mailと呼ばれる女の子がいますが、これらのスパムメールですっごくうんざりしています..... –

答えて

1


あなたはそれでいくつかのコードを画面に移動します:

Private Sub CommandButton1_Click() 

End Sub 

は、単にそこにあなたのプロシージャ名を追加します。

Private Sub CommandButton1_Click() 
    Mail_workbook_Outlook_1 
End Sub 

NB:
であなたの中には更新する価値があるかもしれませんボタン名はCommandButtonxより意味があります。
右クリックし、プロパティを選択して(name)フィールドを更新します。

関連する問題