C# 如何操作outlook自定义表单、填充组合框和人员

C# 如何操作outlook自定义表单、填充组合框和人员,c#,vsto,outlook-addin,C#,Vsto,Outlook Addin,我们公司有一个工作outlook表单,其中包括outlook功能区中的一个按钮 通过单击它,将打开一个新邮件窗口,该窗口具有设计的自定义表单和一些组合框,并附加打印屏幕图像 此表单下方有一些VB宏用于填充组合框并运行一些代码,当我们单击发送时,将为收件人发送包含此表单的新邮件问题是:收件人收到此表单后面的vb宏,有时此宏会被意外修改和…,因此我们不喜欢这种方法 目前我正在做一个C#VSTO项目,用这个宏替换一个加载项(.dll) 我的第一个解决方案是:我已经导入了一份自定义表单的副本作为表单区域

我们公司有一个工作outlook表单,其中包括outlook功能区中的一个按钮

通过单击它,将打开一个新邮件窗口,该窗口具有设计的自定义表单和一些组合框,并附加打印屏幕图像

此表单下方有一些VB宏用于填充组合框并运行一些代码,当我们单击发送时,将为收件人发送包含此表单的新邮件问题是:收件人收到此表单后面的vb宏,有时此宏会被意外修改和…,因此我们不喜欢这种方法

目前我正在做一个C#VSTO项目,用这个宏替换一个加载项(.dll)

我的第一个解决方案是:我已经导入了一份自定义表单的副本作为表单区域,并在其中添加了组合框和其他控件,然后填充它们,一切正常,但该表单尚未通过邮件发送给收件人

我的第二个解决方案:我认为最好从旧自定义表单中删除所有宏,并尝试在我的加载项中填充旧自定义表单的组合框

我的问题是哪种解决方案更好?有更好的方法吗


我认为我走错了方向,因为缺乏VSTO和outlook表单方面的知识。请帮助

Outlook自定义表单是一种旧方法。确切地说,形成区域是更好的方法。但它需要更好的编码技巧。请注意,Outlook表单区域无法与该项目一起发送给收件人


如果要查看表单区域中输入的数据,需要在两侧(发件人和收件人)安装Outlook加载项。此外,您必须为正在发送的项目创建相应的用户属性。在收件人端,外接程序可以处理应用程序类的事件,该事件在收件箱中收到新项目时被触发。因此,您可以读取用户属性并显示在表单区域上。此外,您可以考虑使用任何Web服务器(Web服务)来上传这些数据。在这种情况下,当用户属性在接收方被截断时,您将确保数据被保留

Outlook自定义表单是一种古老的方法。确切地说,形成区域是更好的方法。但它需要更好的编码技巧。请注意,Outlook表单区域无法与该项目一起发送给收件人


如果要查看表单区域中输入的数据,需要在两侧(发件人和收件人)安装Outlook加载项。此外,您必须为正在发送的项目创建相应的用户属性。在收件人端,外接程序可以处理应用程序类的事件,该事件在收件箱中收到新项目时被触发。因此,您可以读取用户属性并显示在表单区域上。此外,您可以考虑使用任何Web服务器(Web服务)来上传这些数据。在这种情况下,当用户属性在接收方被截断时,您将确保数据被保留

您好,谢谢您的回复,您的意思是我应该创建一条普通邮件,将我的字段添加为属性并将其发送给收件人,然后在收件人上显示我表单区域中的这些字段(一个表单用于发送,一个表单用于接收)?可以使用单个表单。请注意,如果未为存储定义相应的用户属性,则可以在收件人端擦除属性。您好,感谢您的回复,您的意思是我应该创建一封普通邮件,将我的字段添加为属性并发送给收件人,然后在收件人上显示我的表单区域中的这些字段(一个表单用于发送,一个表单用于接收)?可使用单一表格进行此操作。请注意,如果未为存储定义相应的用户属性,则可以在接收方擦除这些属性。