0

PDF ドキュメントを作成でき、フォルダーを参照して問題なくドキュメントを開くことができます。しかし、私のコードがファイルを添付ファイルとして添付しようとすると、このエラーで失敗しますが、パスとファイル名は正しいです。ファイルが何らかの形で開いているため、添付ファイルが妨げられていると思われます。

ファイルの証明:

ここに画像の説明を入力

スローされた例外: mscorlib.dll の 'System.IO.FileNotFoundException' ファイル 'C:\TEMP\1104280343081_INV0950.pdf' が見つかりませんでした。この部分は完璧に機能します

        Dim txtVarFile As String
        Dim txtVarEmail As String = "test@test.com"
        Dim txtVarPasss As String = "password"
        Dim txtVarSMTP As String = "smtp.gmail.com"
        Dim intVarPort As Integer = 587
        Dim txtVarDescription As String

        'Create Invoice and Save as pdf document
        txtVarFile = "C:\TEMP\" & strClientNum & "_" & strInvNum & ".pdf"
        PageSetupDialog1.Document = PrintDocument1
        PageSetupDialog1.PrinterSettings.DefaultPageSettings.Landscape = True
        prtFrmInvoice.PrinterSettings = PageSetupDialog1.PrinterSettings
        If prtFrmInvoice.PrinterSettings.IsValid Then
            prtFrmInvoice.PrinterSettings.PrinterName = "Microsoft Print to PDF"
            prtFrmInvoice.PrintFileName = txtVarFile
            prtFrmInvoice.PrintAction = Printing.PrintAction.PrintToFile
            prtFrmInvoice.Print()
        End If

しかし、これは機能しません。ファイルが見つからないというメッセージが表示されますが、ファイルは存在します。次の行で例外がスローされます: eMail.From = New MailAddress(txtVarEmail)

'Send copy of Invoice per Email
        Try
            Dim SmtpServer As New SmtpClient()
            Dim eMail As New MailMessage()
            'Dim attachment As System.Net.Mail.Attachment
            LogFile.Refresh()
            SmtpServer.UseDefaultCredentials = False
            SmtpServer.Credentials = New Net.NetworkCredential(txtVarEmail, txtVarPasss)
            SmtpServer.Port = intVarPort
            SmtpServer.EnableSsl = True
            SmtpServer.Host = txtVarSMTP
            eMail = New MailMessage()
            eMail.From = New MailAddress(txtVarEmail)
            eMail.To.Add(strClientEmail)
            eMail.Subject = "AltHealth Invoice"
            eMail.Body = "Please find your latest invoice attached"
            'attachment = New System.Net.Mail.Attachment(txtVarFile)
            'eMail.Attachments.Add(attachment)
            eMail.Attachments.Add(New Attachment(txtVarFile))

            SmtpServer.Send(eMail)
            MsgBox("The Invoice has been sent sucessfully via email - File: " & txtVarFile)
        Catch ex As Exception
            MsgBox("Send failure: " & ex.ToString())
        End Try
4

0 に答える 0