首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存导入的文件,然后将其附加到电子邮件中。

保存导入的文件,然后将其附加到电子邮件中。
EN

Stack Overflow用户
提问于 2019-08-19 15:06:33
回答 1查看 34关注 0票数 1

我已经创建了一个程序,用户将从excel文件中导入数据,然后将其发送到outlook电子邮件,发送到需要发送给谁的电子邮件中。

我的问题是,如何对其进行编码,以便程序保存导入的excel文件并自动将其附加到电子邮件中?

我的代码被设置为允许输入数据,然后它转储文件,当用户准备发送电子邮件时,他们必须将文件重新附加到电子邮件中。

以下是导入Excel数据代码的一部分:

代码语言:javascript
复制
Dim xl As New Excel.Application
    Dim objworksheet As Excel.Worksheet
    Dim objWorkbook As Excel.Workbook


    Dim ofd As OpenFileDialog = New OpenFileDialog

    ofd.DefaultExt = "xlsx"
    ofd.FileName = " "
    ofd.InitialDirectory = "c:\"
    ofd.FilterIndex = "1"
    ofd.Filter = "Excel Files (.xlsx)|*.xlsx| Excel Files(.xls)|*.xls| Excel Files (*.xlsm)|*.xlsm"
    ofd.Title = "Select file"

    If (ofd.ShowDialog() = DialogResult.OK) Then

        objWorkbook = xl.Workbooks.Open(ofd.FileName)

(这是需要获取的信息,并放置在何处)

导入数据代码的结尾:

代码语言:javascript
复制
 xl.ActiveWorkbook.Close(False)
            xl.Quit()
        Else

            ofd.Dispose()

        End If

这是我的“发送到电子邮件”代码的一部分,而不是用户必须找到相同的文件,我希望程序自动附加相同的文件作为导入的文件。不过,它们来自两个不同的函数,不确定这是否可能。

‘添加Excel文件作为附件

代码语言:javascript
复制
        Dim ofd As OpenFileDialog = New OpenFileDialog
        ofd.DefaultExt = "xlsx"
        ofd.FileName = " "
        ofd.InitialDirectory = "c:\"
        ofd.FilterIndex = "1"
        ofd.Filter = "Excel Files (.xlsx)|*.xlsx| Excel Files(.xls)|*.xls| Excel Files (*.xlsm)|*.xlsm"
        ofd.Title = "Select file"

        If (ofd.ShowDialog() = DialogResult.OK) Then

            OutlookMessage.Attachments.Add(ofd.FileName)
            OutlookMessage.Display()
        Else
            ofd.Dispose()
            MessageBox.Show("Must attach excel file to proceed")
        End If
    Catch ex As Exception
        MessageBox.Show("Email could not be created") 
    Finally
        OutlookMessage = Nothing
        AppOutlook = Nothing
    End Try
End If
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-19 15:19:07

您绝对可以传递变量来获取,您应该这样做。

你的声明应该是这样的:

代码语言:javascript
复制
Public Sub SendMailWithAttachment(ByVal fileName as string)

然后,您的代码将使用:

代码语言:javascript
复制
OutlookMessage.Attachments.Add(fileName)
OutlookMessage.Display()

要使用这个过程,您可以这样称呼它:

代码语言:javascript
复制
SendMailWithAttachment(ofd.FileName)

注意:文件在附件中不应打开。您只是使用文件名,而不是文件对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57559454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档