首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.net拖动单个Outlook并拖放到窗体上

VB.net拖动单个Outlook并拖放到窗体上
EN

Stack Overflow用户
提问于 2015-08-03 22:51:54
回答 1查看 2.9K关注 0票数 1

我有代码可以拖放outlook项目到我的表单(标签),但是我想确保只有一个文件被删除。那么,我如何正确地对其进行编码,使其不允许outlook中的多个文件,并提示用户只输入一个文件?

代码语言:javascript
复制
Private Sub Label1_DragDrop(sender As Object, e As DragEventArgs) Handles Label1.DragDrop
        lblFile.Text = String.Empty
        Try

            If e.Data.GetDataPresent("FileGroupDescriptor") Then
                'supports a drop of a Outlook message

                'Dim objMI As Object - if you want to do late-binding
                Dim objMI As Microsoft.Office.Interop.Outlook.MailItem

                For Each objMI In objOL.ActiveExplorer.Selection()
                    'hardcode a destination path for testing
                    Dim strFile As String = _
                                IO.Path.Combine("c:\temp", _
                                                (objMI.Subject + ".msg").Replace(":", ""))
                    lblFile.Text += strFile + Environment.NewLine
                    objMI.SaveAs(strFile)
                Next
            End If
            lblFormat.Text = String.Empty
            IO.File.Delete(lblFile.Text)
        Catch ex As Exception
            lblFile.Text = "An error occured in the drop event" + Environment.NewLine + ex.ToString
        End Try
    End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 11:54:47

根据文档,Application.ActiveExplorer方法返回一个Explorer对象。Selection()对象的Explorer属性返回Collection对象。

Collection是一个可枚举的对象,因此它有一个名为.Count的属性,它将告诉您它包含多少项。可以使用此属性检查所选内容是否包含多个项目,如下所示:

代码语言:javascript
复制
if objoL.ActiveExplorer.Selection.Count >1 then
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31797997

复制
相关文章

相似问题

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