Outlook 2007 任务保存问题
Posted
技术标签:
【中文标题】Outlook 2007 任务保存问题【英文标题】:Outlook 2007 Task Saving Problems 【发布时间】:2011-08-02 07:13:52 【问题描述】:我对 Outlook 中的 VBA 非常陌生。
所以我正在尝试操作任务公式的保存按钮。
我想知道如何制作一个“不同的”保存按钮,实际上它的功能相同,但有一些额外的功能。
那么有人知道如何使用 VBA makro 保存您实际执行的任务吗???
感谢您的帮助
布鲁诺
【问题讨论】:
【参考方案1】:您将需要创建一个新的功能区项目,该项目将成为您的自定义按钮,该项目应将您的自定义保存函数定义为其处理程序。以下是如何自定义功能区的示例
namespace OutlookAddIn
[ComVisible(true)]
public class RibbonHook : Office.IRibbonExtensibility
private Office.IRibbonUI ribbon;
public RibbonHook()
public string GetCustomUI(string ribbonID)
string xml = string.Empty;
switch (ribbonID)
case "Microsoft.Outlook.Task":
xml = GetResourceText("OutlookAddIn.RibbonTask.xml");
break;
return xml;
#region Ribbon Callbacks
//Create callback methods here. For more information about adding callback methods, select the Ribbon XML item in Solution Explorer and then press F1
public void Ribbon_Load(Office.IRibbonUI ribbonUI)
this.ribbon = ribbonUI;
public void buttonTaskCustomSave_Action(Office.IRibbonControl control)
Outlook.Taskitem taskItem = (Outlook.taskItem)OutlookAddIn.Globals.OLA.Application.ActiveInspector().CurrentItem;
//do stuff with the task here
#endregion
#region Helpers
private static string GetResourceText(string resourceName)
Assembly asm = Assembly.GetExecutingAssembly();
string[] resourceNames = asm.GetManifestResourceNames();
for (int i = 0; i < resourceNames.Length; ++i)
if (string.Compare(resourceName, resourceNames[i], StringComparison.OrdinalIgnoreCase) == 0)
using (StreamReader resourceReader = new StreamReader(asm.GetManifestResourceStream(resourceNames[i])))
if (resourceReader != null)
return resourceReader.ReadToEnd();
return null;
#endregion
你需要把它添加到你的主插件类中
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
return new RibbonHook();
这是功能区 xml
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">
<ribbon>
<tabs>
<tab idMso="TabTask">
<group id="TaskCustom"
label="Custom Save">
<button id="buttonTaskCustomSave" label="Custom Save" onAction ="buttonTaskCustomSave_Action"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
【讨论】:
以上是关于Outlook 2007 任务保存问题的主要内容,如果未能解决你的问题,请参考以下文章
sharepoint 2013 使用outlook 打开sharepoint 任务失败