以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 怎么关闭报表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=103827)

--  作者:sjx71
--  发布时间:2017/7/18 9:05:00
--  [求助] 怎么关闭报表
 我写了一个程序,其中燃气用量上报表中一行如果没有空字段,且有修改的话,会发一封邮件(包含报表)给一个邮箱,

但当这行再次被修改时,会显示报表文件已打开,先关闭之。

我应该如何在程序里在每次发完邮件后关闭这个报表  

谢谢老师

     

S elect C ase e.DataCol.Name

    Case 日期,"天然气计划量","天然气实际量","天然气预测量","液化气购进量","液化气销售量","液化气库存量","天然气运行状态","液化气运行状态"

        Dim dr As DataRow = e.DataRow

        Dim Flag As Boolean = False

        Dim nms() As String

        nms = New String() {日期,"天然气计划量","天然气实际量","天然气预测量","天然气运行状态","液化气购进量","液化气销售量","液化气库存量","液化气运行状态"}

        For Each nm As String In nms

            If dr.IsNull(nm) Then

                Flag = True

            End If

        Next

        If Flag = False Then  如果所有字段都不为空                      

            Dim Book As New XLS.Book(ProjectPath & "Attachments\\燃气用量上报.xls")

            Dim fl As String = ProjectPath & "Reports\\燃气用量上报" & Format(dr("日期"),"yyyyMMdd") & ".xls"

            Book.Build() \'生成细节区

            Book.Save(fl) \'保存工作簿

         

            Dim m As New MailSender

            m.Host = "smtp.qq.com"           

            m.EnableSsl = True \'必须将EnableSsl属性设置为True

            m.Account = "*****@qq.com"

            m.Password = "czjmzfkpcrvccbec" \'注意这不是QQ密码,是授权码          

            m.From = ******g@qq.com"

            m.To = "******@qq.com"

            m.Title = "每日燃气供热情况表" & Format(dr("日期"),"M.dd")

            m.Content = "附件为每日燃气供热情况上报表,请查收."           

            m.AddAttachments(fl)

                       

            m.Send()

          

        End If

End S elect






--  作者:有点甜
--  发布时间:2017/7/18 9:14:00
--  

 这个是bug,换一种方式。

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=101482&skin=0

 


--  作者:sjx71
--  发布时间:2017/7/29 16:27:00
--  
引用 :



要这样写代码

 

Dim client As New System.Net.Mail.SmtpClient()
client.Host = "smtp.qq.com"
client.Credentials = New System.Net.NetworkCredential("lin_hailun@qq.com", "helen6849338.")
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
Dim message As New System.Net.Mail.MailMessage("lin_hailun@qq.com", "2450314695@qq.com")
message.Subject = "邮件测试"
message.BodyEncoding = System.Text.Encoding.UTF8

\'message.Bcc.Add("2450314695@qq.com") \'密送

\'message.cc.Add("2450314695@qq.com") \'抄送

Dim content As String

content &= "这是文字" & vbcrlf
content &= "也是文字"

message.Body = content

Dim attachment As new  System.Net.Mail.Attachment("d:\\test.xls",  System.Net.Mime.MediaTypeNames.Application.Octet)
message.Attachments.Add(attachment)

Try
    client.Send(message)
    msgbox("发送成功")
Catch ex As Exception
    msgbox("发送失败:" & ex.message)

finally

    message.Dispose()
End Try

 

用这种方法发邮件,功能实现了,怎样把发出的邮件保存到已发送邮件夹,


谢谢甜老师


--  作者:有点蓝
--  发布时间:2017/7/29 16:34:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=100555&skin=0