有人知道如何在Outlook 2007中以编程方式启用/禁用外出自动响应程序的实际状态吗?
已经在VS 2008中搜索了对象浏览器并找到了枚举Microsoft.Office.Interop.Outlook.OlBusyStatus但我没有找到任何类或其他任何使用它的内容.
任何想法都表示赞赏,感谢和问候
我正在为outlook 2007编写一个插件,我想阅读一个MailItem的属性.
特别是我想知道我的附件的所有内容类型.现在,我现在这样做的方式是这样的:
Outlook.MailItem item = OutlookItem as Outlook.MailItem;
Outlook.Attachments itt = item.Attachments;
foreach (Outlook.Attachment t in item.Attachments)
{
textBox1.Text += t.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x370E001F");
}
Run Code Online (Sandbox Code Playgroud)
但我宁愿只是打电话.
t.PropertyAccessor.GetProperty(PR_ATTACH_MIME_TAG);
Run Code Online (Sandbox Code Playgroud)
我不能让你以后的选择工作,但是在msdn文档中提到了这个属性.(http://msdn.microsoft.com/en-us/library/ms879575.aspx).有没有人知道如何在不使用字符串而是使用常量的情况下很好地检索属性?
我们需要在C#中创建一个支持Outlook 2007和2010的VSTO加载项.
首先,我们创建了3个项目:
所有共享代码都在项目#3中.
到目前为止,我们已经部分开发了加载项,并一直在使用ClickOnce部署进行测试.
有一天,我们注意到有人安装了2007 Outlook的2010加载项并且没有任何不良影响.
所以有几个问题:
在我们的最终解决方案中,我们将使用WiX安装程序,该安装程序目前也在使用.如果我们可以使用1个项目作为加载项,那么WiX安装程序将大大简化.
背景:我正在使用C#在VS2010中开发Outlook 2007加载项.我正在做的具体事情是将菜单项添加到与电子邮件关联的上下文菜单中.我使用以下代码执行此操作:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Application.ItemContextMenuDisplay += Application_ItemContextMenuDisplay;
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
private void Application_ItemContextMenuDisplay(Office.CommandBar commandBar, Outlook.Selection selection)
{
var cmdButtonCallContact = (Office.CommandBarButton)commandBar.Controls.Add(Office.MsoControlType.msoControlButton, 1, System.Reflection.Missing.Value, 6, System.Reflection.Missing.Value);
cmdButtonCallContact.Caption = "&Foo";
//cmdButtonCallContact.Picture = ?
cmdButtonCallContact.Click += cmdButtonCopy_Click;
}
private void cmdButtonCopy_Click(Office.CommandBarButton ctrl, ref bool canceldefault)
{
System.Windows.Forms.MessageBox.Show("Bar");
}
Run Code Online (Sandbox Code Playgroud)
问题:似乎无法设置图片.Msdn示例依赖于我没有的AxHost转换函数.是否有一种简单的方法可以将图像或BitMap设置为图片?
谢谢.
我正在开发一个outlook 2010插件,当用户从菜单中单击按钮时,它会将电子邮件导出到特定位置.
这部分不是问题,但MailItem如果导出成功,我还需要更改图标 - 象形图.我试图寻找解决方案,但我只是得到我需要使用表单区域,但我没有找到真正有用的解决方案.
任何想法我应该如何使用这个表单区域?!
我完成了加载项,从VS 2010调试时,一切似乎都很完美.我还创建了一个安装程序,但在安装应用程序后,Outlook将不会显示我想要的图标.它不是显示你上面看到的内容,而是更改图标,但显示默认图标 - 而不是我的图标.图标位于我使用的FormRegion的resx文件中(我使用dor默认和从清单中读取图标),我还尝试将它们移动到常规资源文件(Properties.Resource),但结果是相同的.有人可以帮我弄这个吗?
所以我还使用Replacement和ReplaceAll添加了一个FormRegion,在清单上的默认图标上添加了我的图标,并将其命名为IPM.Note.MyExportedItem.
在ThisAddin.cs中,我有以下代码:
MailItem mailItem =(selectedItem as MailItem);
itemGuid = mailItem.EntryID;
string name = mailItem.Subject + ".msg";
name = "C:\\" + name.Replace(":", "");
try
{
mailItem.SaveAs(name, OlSaveAsType.olMSG);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
mailItem.MessageClass = "IPM.Note.MyExportedItem";
mailItem.Display(true);
........
Run Code Online (Sandbox Code Playgroud)
但是,当我按照我想要的方式导出它时,这并不是将邮箱中的mailItem(电子邮件)图标更改为我的图标,我可以看到的唯一更改是当我调用Display(true)并打开邮件消息时.此外,如果我按下新项目,选择表格并打开我的表格区域,它会打开一个撰写邮件窗口,如果我发送电子邮件给我,那么它将有我的图标...奇怪...你可以在图片中看到:-)你知道我做错了什么吗?

问候
我正在为Outlook 2010开发加载项.我必须为它们获取所有规则和描述.我可以访问规则,但我不明白如何获得图片上的描述.
我一直在撞墙上25分钟,试图找出为什么我无法访问数组的'第一个'索引,我试图用数组[0].我不断得到一个超出界限的数组索引.只是为了看看会发生什么,我尝试使用数组[1] ......并且它有效.完美.我不知道为什么.
for (int i = 1; i < itemCounter+1; i++)
{
if (explorer.CurrentFolder.Items[i] is Outlook.MailItem)
{ //Do something }
}
Run Code Online (Sandbox Code Playgroud)
整件事情很好.这里发生了什么?
我一直在网上寻找一种方法来做到这一点,但没有这样的运气.我的目标是将会议议程模板保存到电子邮件签名中,该签名将插入到我创建的每个会议邀请中.
寻找一些如何做到这一点的线索?
我为选定的附件创建了一个Outlook插件,以获取附件的详细信息.它在Outlook 2010中运行良好.但是当我为Outlook 2016构建它时,它变为null.
以下是ThisAddIn.cs中的代码: -
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
System.Reflection.Assembly assemblyInfo = System.Reflection.Assembly.GetExecutingAssembly();
Uri uriCodeBase = new Uri(assemblyInfo.CodeBase);
string Location = Path.GetDirectoryName(uriCodeBase.LocalPath.ToString());
var path = Location.Split(new string[] { "bin" }, StringSplitOptions.RemoveEmptyEntries);
var rootDir = path[0].ToString();
var forPermissionsRootDirectory = Path.GetDirectoryName(rootDir);
SetPermissions(forPermissionsRootDirectory);
app = this.Application;
app.AttachmentContextMenuDisplay += new Outlook.ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler(app_AttachmentContextMenuDisplay);//attach Attachment context Menu Event//
}
void app_AttachmentContextMenuDisplay(Office.CommandBar CommandBar, Outlook.AttachmentSelection selection)
{
selectedAttachment = selection;
RibbonUI.InvalidateControlMso("ContextMenuAttachments");//will get XML file data//
}
Run Code Online (Sandbox Code Playgroud)
这是AttachmentContextMenu.cs中的代码: -
public void OnOpenMyMotionCalendarButtonClick(Office.IRibbonControl control)
{
Outlook.AttachmentSelection selection = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用npm start. 但它给了我一个错误
Sideloading the Office Add-in...
Error: Unable to start debugging.
Error: Unable to sideload the Office Add-in.
Error: Sideload is not supported.
我正在运行 Microsoft 为 Outlook 插件提供的直接演示项目。npm run dev-server之前也运行过,npm start因为我在 mac 中运行。
https://docs.microsoft.com/en-us/outlook/add-ins/quick-start?tabs=yeomangenerator
我已经做了一些研究来找到这个问题,但无法提出任何问题。任何帮助将不胜感激。
outlook-addin ×10
c# ×8
outlook ×6
.net ×2
office-2007 ×2
outlook-2010 ×2
mapi ×1
node.js ×1
outlook-2016 ×1
outlook-form ×1
outlook-vba ×1
vba ×1
vsto ×1