Tag: vsto

如何使用C#的Application.OnKey而不涉及VBA代码?

我想在Excel模板(.xlt)中使用UDF我使用了Application.OnKey(“^v”,”MyFunction”); 我想在用户粘贴excel中的单元格时使用单独的函数,即MyFuction,但是当我在thisworkbook.cs中定义函数时,我不会工作… 提前致谢..

在ppt中保存幻灯片时保留源模板

我正在尝试保存选定的幻灯片,因此它不会保留我的源模板。 在保存幻灯片时如何保留现有模板 private void SaveSelectedSlide_Click(object sender, RibbonControlEventArgs e) { try { PowerPoint.Application ppApp = Globals.ThisAddIn.Application; PowerPoint.SlideRange ppslr = ppApp.ActiveWindow.Selection.SlideRange; string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var temporaryPresentation = Globals.ThisAddIn.Application.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoTrue); Microsoft.Office.Interop.PowerPoint.CustomLayout customLayout = ppApp.ActivePresentation.SlideMaster.CustomLayouts[Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutText]; for (int i = 1; i <= ppslr.Count; i++) { var sourceSlide = ppslr[i]; sourceSlide.Copy(); var design = sourceSlide.Design; temporaryPresentation.Slides.Paste(); } temporaryPresentation.SaveAs("Temporary", Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsPresentation, Microsoft.Office.Core.MsoTriState.msoTrue); […]

如何检索邮件项的Outlook文件夹(Outlook.MailItem)?

我通过inboxFolder = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox获取我的默认收件箱文件夹 在我的代码的其他地方,我开始做foreach循环,从这些MailItems中提取我想要的特定信息 foreach (var item in this.inboxFolder.Items) { Outlook.MailItem mailItem = (Outlook.MailItem)item; //…. doing stuff here string SenderEmail = mailItem.SenderEmailAddress; string SenderName = mailItem.SenderName; string FolderLocation = mailItem.???; //how to retrieve folder location? //…. more stuff here } 例如:用户可能创建了一个名为“Test”的子文件夹,如下所示。

确定所选电子邮件是来自收件箱还是已发送邮件

我正在编写Outlook加载项 ,需要确定所选的电子邮件是来自Inbox还是已Sent Items以便我可以在将数据库保存到数据库时使用folder =“收件箱”或“已发送”来标记该电子邮件。 我了解我可以将文件夹名称与收件箱或已发送邮件进行比较并确定文件夹,但是,如何确定所选电子邮件何时位于收件箱中的一个子文件夹中。 是否有FolderType属性来检查所选电子邮件的文件夹是收件箱还是已发送 ( 类似于使用OlItemType标识项目类型 )?

当一个outook的连接状态发生变化时触发的EventHandler

我正在使用VSTO和C#处理Outlook加载项。 我需要一个事件处理程序,当outook的连接状态发生变化时触发( 即从在线模式到离线,反之亦然 )。 那可能吗? 是否有这样的事件处理程序? 我一直在网上搜索很多,但遗憾的是我一无所获。 如果有人对此有所了解甚至是可能的解决方案,我将非常感激。 注意:我使用的前景是Outlook 2007。

如何将组添加到多个内置function区选项卡(vsto)?

这是VS2010 + Office 2010加载项。 我想要的只是向多个内置选项卡添加一个按钮( 或按钮组 )。 例如,我的按钮应该在New Mail Message Ribbon和New Appointment Ribbon中都可用。 我尝试添加一个新选项卡( 在可视设计器中 ),但似乎不起作用。 按钮组显示在“新邮件”选项卡上,但不显示在“约会”选项卡上。 顺便说一句,我使用以下ID: TabNewMailMessage和TabAppointment 。

这个插件导致前景开始缓慢

我正在使用C#.NET 4.5开发Outlook Addin项目但是在部署之后,有时outlook会禁用我的插件,并显示此消息。 “这个插件导致前景开始缓慢”“我不知道我的插件有什么问题。这只有几个代码,而且ThisAddIn_Startup在这个项目中是空的。这是代码…… public partial class ThisAddIn { private void ThisAddIn_Startup(object sender, System.EventArgs e) { } private void ThisAddIn_Shutdown(object sender, System.EventArgs e) { } protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() { return new Ribbon1(); } #region VSTO generated code /// /// Required method for Designer support – do not modify /// the contents of this method […]

使用C#在Excel / VSTO中的列号为列号

如何查找列的名称或标题? 例如,如果我在excel中选择第5列意味着我希望结果为“E”。 如何获取对应于列号的字母或字母。 请帮我解释一下代码

如何从C#获取Word文档的文件名?

我正在研究MS Word AddIn(VSTO)。 我的想法是我在Word文档上工作并将其发送到某个地方。 除了一件事,我有我需要的所有代码:有没有办法可以获得我正在处理的Word文档的文件名? (假设已经保存)

让形状永远保持在第一页

我正在开发Word的VSTO应用程序加载项,并希望在固定位置的第一页上保持形状。 有没有办法在没有主动监控形状状态的情况下做到这一点? 对于为什么解释而言,“它无法完成”的答案也是受欢迎的。