Tag: vsto

解析器将.net字典或列表转换为VBA的等效字典或集合

我必须将.net字典或列表类型的对象传递给VBA。 但是当我在VBA端传递.net字典时,我无法在.net端看到字典的元素。 我在C#中的代码 Dictionary dict = new Dictionary(); dict.Add(“First”, “1”); dict.Add(“Second”, “2”); dict.Add(“third”, “3”); dict.Add(“Forth”, “4”); 我从C#调用VBA宏 Application.Run(“MyVBAMacro”, dict); 在VBA方面我的宏是 public Sub MyVBAMacro(var as variant) end Sub 我也尝试过 public Sub MyVBAMacro(var as Scripting.Dictionary) end Sub 但对我不起作用。 在VBA的WATCH窗口中,我没有得到字典元素。 所以我认为.net和VBA对象不一样。 那么有没有任何解析类可以将我的.net对象转换为等效的VBA对象? 问题也与.net List对象有关。 .net数组工作正常,但我想将字典或集合类型的对象传递给VBA。 如果有解决方案,请告诉我。 谢谢,Monil Gangar

OpenSharedItem用于打开在Outlook C#中显示错误的.MSG文件

我使用以下代码打开签名/未签名的Outlook邮件,并在WebBrowser控件中显示内容。 Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application(); var item = app.Session.OpenSharedItem(msgfile) as Microsoft.Office.Interop.Outlook.MailItem; string message = item.HTMLBody; app.Session.Logoff(); 它在文件第一次打开时工作正常,但在关闭Outlook文件后尝试重新打开文件时显示以下错误: “无法打开文件:C:\ tion.msg。该文件可能不存在,您可能没有权限打开它,或者它可能在另一个程序中打开。右键单击包含该文件的文件夹,然后单击”属性“。检查你对该文件夹的权限。“ 过了一段时间后它开门很好。 对于这种奇怪的行为,可能是什么原因以及如何纠正错误消息?

在Outlook 2007/2010中的“待办事项”栏中添加一个部分?

我想在Outlook 2010(或2007)的待办事项栏中添加一个新部分。 我找到了一些代码来创建一个新的可折叠任务窗格,有人声称你无法修改待办事项栏,但我还发现了一款​​名为Add-In Express的产品,声称它可以做到这一点(虽然售价349美元,但不值得。一次性项目)。 有可能这样做吗?

Word VSTO覆盖CTRL + Z / CTRL + Y.

我正在寻找一种方法来覆盖Word 2010中的撤消( Ctrl Z )/重做( Ctrl Z )命令(C#+ VSTO)。 可能吗 ? 我设法捕获复制/粘贴命令,但似乎Undo / Redo不是RibbonUI中的命令,如复制/粘贴。

替换Word 2003文档中的MergeField并保留样式

我一直在尝试创建一个库来替换Word 2003文档中的MergeFields,一切正常,但是当我更换它时,我失去了应用于该字段的样式,有没有办法保留它? 这是我用来替换字段的代码: private void FillFields2003(string template, Dictionary values) { object missing = Missing.Value; var application = new ApplicationClass(); var document = new Microsoft.Office.Interop.Word.Document(); try { // Open the file foreach (Field mergeField in document.Fields) { if (mergeField.Type == WdFieldType.wdFieldMergeField) { string fieldText = mergeField.Code.Text; string fieldName = Extensions.GetFieldName(fieldText); if (values.ContainsKey(fieldName)) { mergeField.Select(); application.Selection.TypeText(values[fieldName]); } […]

如何创建自定义Outlook项目?

据我所知,Outlook已经设置了项目,即邮件,任务,日历,笔记等。 如何创建Outlook将识别为其他项目的自定义项? 我知道当您添加Business Contact Manager时,它会创建“机会”之类的项目 您可以覆盖Item,还是inheritanceItem并更改/添加属性和方法? 例子: olAppointmentItem 1 Represents an AppointmentItem olContactItem 2 Represents a ContactItem olDistributionListItem 7 Represents an DistListItem olJournalItem 4 Represents a JournalItem olMailItem 0 Represents a MailItem olNoteItem 5 Represents a NoteItem olPostItem 6 Represents a PostItem olTaskItem 3 Represents a TaskItem

VSTO Word激活function区选项卡

我的单词vsto加载项中有以下ribbon.xml: 以及click事件背后的代码: public void NewTemplated(Office.IRibbonControl control, bool value) { CloseDocument(); var doc = Globals.ThisAddIn.Application.Documents.Add(Template: @”LETTER_V2.dotx”, Visible: true); doc.Activate(); _ribbon.ActivateTab(“TabLetters”); } 我希望这会导致我的function区选项卡打开一个新窗口,但它仍然是可见/当前的HOME选项卡。 如何实现我的标签是可见的标签?

Winform更新长时间运行的任务

当应用程序执行长时间运行的任务时,您是否有一个很好的解决方案来保持“请等待”winform“绘制”? 我已经尝试在每一步使用form.refresh(),但是有一些长时间运行的查询,这意味着这不够频繁。 基本上这个SO问题但是,通过VSTO(而不是Python)在Excel中的C#。

Outlook:如何从收件人字段中获取电子邮件?

我正在尝试将电子邮件地址输入到撰写邮件窗口的“ 收件人”字段中。 我尝试获取收件人的地址属性,根据VS,应该给我电子邮件。 我收到一个看起来像这样的字符串: “/c=US/a=att/p=Microsoft/o=Finance/ou=Purchasing/s=Furthur/g=Joe” 如何在收件人字段中获取电子邮件地址? 我的代码到目前为止: List emails = new List(); if (thisMailItem.Recipients.Count > 0) { foreach (Recipient rec in thisMailItem.Recipients) { emails.Add(rec.Address); } } return emails;

如何使用function区xml将图像添加到按钮?

如何将自定义图像添加到选项卡和上下文菜单中的function区按钮。 我尝试了添加图像到function区按钮的链接,但没有运气:-(。我正在设计Excel的插件。我在标题中添加了这个。 代码片段 public Bitmap Ribbon_LoadImage(IRibbonControl control) { switch (control.Id) { case “btn2”: return new Bitmap(Properties.Resources.btn1); case “btn3”: return new Bitmap(Properties.Resources.btn2); case “btn4”: return new Bitmap(Properties.Resources.btn3); case “btn5”: return new Bitmap(Properties.Resources.Filter); case “btnOpt6”: return new Bitmap(Properties.Resources.Settings); case “btnInform7”: return new Bitmap(Properties.Resources.Vis); case “btnHelpPage”: return new Bitmap(Properties.Resources.Help); } return null; } 请帮帮我。 我正在使用.net 4.0 c#VSTO excel […]