我一直在将旧的 VB6 Windows 应用程序迁移到 VB.net,然后再迁移到 C#,如果解决了这个问题,除了带有 strict on 选项的 outlook 对象外,几乎已经成功了

问题描述 投票:0回答:1

在早期绑定上找不到任何不是 VBA 的东西,有点迷失在这个上。代码如下。

Private Sub FabViewFeedBackToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles FabViewFeedBackToolStripMenuItem.Click
  'send email to me via outlook
  Dim Outl As Object
  Outl = CreateObject("Outlook.Application")

  If Outl IsNot Nothing Then
    Dim omsg As Object
    omsg = Outl.CreateItem(0)
    omsg.To = "[email protected]"
    omsg.subject = "FabView FeedBack"
    omsg.Display(True) 'will display message to use
  End If
End Sub

下载了 NuGet Microsoft Office outlook 互操作包

vb.net outlook late-binding
1个回答
0
投票

而不是绑定到 Outlook(这可能是不可靠的),您可以改为 shell 到默认邮件客户端,如下所示:

var recipientEmail = "[email protected]";
var emailSubject = "FabView FeedBack";
ProcessStartInfo sInfo = new ProcessStartInfo($"mailto:{recipientEmail}?subject={emailSubject}") { UseShellExecute = true };
System.Diagnostics.Process.Start(sInfo);
© www.soinside.com 2019 - 2024. All rights reserved.