送信したメールにlistboxの項目を添付、textboxからlistboxに への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 YuO  (社会人)
投稿日時
2013/4/5 23:11:14
わからないのは何でしょうか。
> メールの本文にlistboxの項目を添付したいんですが
> どしたらいいかわかりません。
ListBox1のItemsからPriceを取得する方法はご自身でButton1_Clickに書いていますよね。
あとは,文字列を作り出して,bodyに追加するなりすればよいです。
> 後、textboxに書いた文字と数字をlistboxに
> 表示したいのですがどうしたらいいでしょう。
これは,TextBoxの内容をListBoxに追加したい,ということでしょうか。
それであれば,Form1_Loadでやっているような方法で追加できます。
# Addの戻り値をSelectedIndexに指定することで,選択状態にできます。
> メールの本文にlistboxの項目を添付したいんですが
> どしたらいいかわかりません。
ListBox1のItemsからPriceを取得する方法はご自身でButton1_Clickに書いていますよね。
あとは,文字列を作り出して,bodyに追加するなりすればよいです。
> 後、textboxに書いた文字と数字をlistboxに
> 表示したいのですがどうしたらいいでしょう。
これは,TextBoxの内容をListBoxに追加したい,ということでしょうか。
それであれば,Form1_Loadでやっているような方法で追加できます。
# Addの戻り値をSelectedIndexに指定することで,選択状態にできます。
投稿者 りらっくま  (高校生)
投稿日時
2013/4/5 04:13:24
いきなりすみません。2回目の質問なんですが、
メールの本文にlistboxの項目を添付したいんですが
どしたらいいかわかりません。
後、textboxに書いた文字と数字をlistboxに
表示したいのですがどうしたらいいでしょう。
図々しく2つも質問さしてもらいましたけど
どなたかご教授お願いします。
一応今書いているコードがこれです。
Public Class Form1
Private Class Price
Public Property 品物 As String
Public Property 単価 As Integer
Public Function Copy() As Price
Return New Price With {.品物 = Me.品物, .単価 = Me.単価}
End Function
Public Overrides Function ToString() As String
Return String.Format("{0}{1:0}円", 品物, 単価)
End Function
End Class
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ListBox1.Items.Add(New Price() With {.品物 = "パ ン", .単価 = 100})
ListBox1.Items.Add(New Price() With {.品物 = "コーヒー", .単価 = 200})
ListBox1.Items.Add(New Price() With {.品物 = "ジュース", .単価 = 300})
End Sub
Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
If ListBox1.SelectedItem IsNot Nothing Then
ListBox2.Items.Add(DirectCast(ListBox1.SelectedItem, Price).Copy)
End If
End Sub
Private Sub Label2_Layout(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label2.Text = ("リストから項目をクリックしてください")
End Sub
Private Sub Label1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = ("リストから選択された項目")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim 合計 As Integer = 0
For Each itm As Price In ListBox2.Items
合計 += itm.単価
Next
TextBox1.Text = "合計" & 合計.ToString & "円"
End Sub
Private Declare Function SendMail Lib "bsmtp" _
(ByVal szServer As String, ByVal szTo As String, ByVal szFrom As String, _
ByVal szSubject As String, ByVal szBody As String, ByVal szFile As String) As String
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim msg As New System.Net.Mail.MailMessage()
Dim senderMail As String = "@yahoo.co.jp"
Dim recipientMail As String = "@softbank.ne.jp"
Dim subject As String = ListBox2.Text
Dim body As String = ListBox2.Text + vbCrLf + vbCrLf + TextBox1.Text
Dim sc As New System.Net.Mail.SmtpClient()
sc.Host = " "
sc.Port =
sc.EnableSsl = False
sc.UseDefaultCredentials = False
sc.Timeout = 100000
sc.Credentials = New System.Net.NetworkCredential("****", "****")
sc.Send(senderMail, recipientMail, subject, body)
MessageBox.Show("送信しました")
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
With ListBox2
Do While .SelectedIndex > -1
.Items.RemoveAt(.SelectedIndex)
Loop
End With
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim x As String
Dim a As Integer = 0
If TextBox3.Text = a Then
If TextBox2.Text = x Then
ListBox1.Items.Add(New Price() With {.品物 = x, .単価 = a})
End If
End If
End Sub
End Class
メールの本文にlistboxの項目を添付したいんですが
どしたらいいかわかりません。
後、textboxに書いた文字と数字をlistboxに
表示したいのですがどうしたらいいでしょう。
図々しく2つも質問さしてもらいましたけど
どなたかご教授お願いします。
一応今書いているコードがこれです。
Public Class Form1
Private Class Price
Public Property 品物 As String
Public Property 単価 As Integer
Public Function Copy() As Price
Return New Price With {.品物 = Me.品物, .単価 = Me.単価}
End Function
Public Overrides Function ToString() As String
Return String.Format("{0}{1:0}円", 品物, 単価)
End Function
End Class
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ListBox1.Items.Add(New Price() With {.品物 = "パ ン", .単価 = 100})
ListBox1.Items.Add(New Price() With {.品物 = "コーヒー", .単価 = 200})
ListBox1.Items.Add(New Price() With {.品物 = "ジュース", .単価 = 300})
End Sub
Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
If ListBox1.SelectedItem IsNot Nothing Then
ListBox2.Items.Add(DirectCast(ListBox1.SelectedItem, Price).Copy)
End If
End Sub
Private Sub Label2_Layout(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label2.Text = ("リストから項目をクリックしてください")
End Sub
Private Sub Label1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = ("リストから選択された項目")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim 合計 As Integer = 0
For Each itm As Price In ListBox2.Items
合計 += itm.単価
Next
TextBox1.Text = "合計" & 合計.ToString & "円"
End Sub
Private Declare Function SendMail Lib "bsmtp" _
(ByVal szServer As String, ByVal szTo As String, ByVal szFrom As String, _
ByVal szSubject As String, ByVal szBody As String, ByVal szFile As String) As String
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim msg As New System.Net.Mail.MailMessage()
Dim senderMail As String = "@yahoo.co.jp"
Dim recipientMail As String = "@softbank.ne.jp"
Dim subject As String = ListBox2.Text
Dim body As String = ListBox2.Text + vbCrLf + vbCrLf + TextBox1.Text
Dim sc As New System.Net.Mail.SmtpClient()
sc.Host = " "
sc.Port =
sc.EnableSsl = False
sc.UseDefaultCredentials = False
sc.Timeout = 100000
sc.Credentials = New System.Net.NetworkCredential("****", "****")
sc.Send(senderMail, recipientMail, subject, body)
MessageBox.Show("送信しました")
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
With ListBox2
Do While .SelectedIndex > -1
.Items.RemoveAt(.SelectedIndex)
Loop
End With
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim x As String
Dim a As Integer = 0
If TextBox3.Text = a Then
If TextBox2.Text = x Then
ListBox1.Items.Add(New Price() With {.品物 = x, .単価 = a})
End If
End If
End Sub
End Class
vb初心者なので
がんばって調べながら完成させたいです。