问题标签 [customtaskpane]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
191 浏览

c# - 创建由参数/委托发送的类的实例

我试图通过使用委托或使用类实例作为参数来稍微优化我的代码。我对 C# 很陌生,我还不确定哪一个是更好的方法,假设我一开始就走在正确的轨道上。但我的问题与发送一个类实例作为参数有关。让我解释。我试图遵循这个逻辑,但我失败了......
我创建了一个带有几个按钮的 VSTO 功能区。它看起来有点像这样:
丝带
现在,我正在尝试向按钮添加一些功能,因此单击每个按钮都会打开一个新的 TaskPane。

我为注释Calendar中的功能区按钮编写了这段代码GSMRibbon.cs :我认为对于更有经验的程序员来说,这段代码会很容易理解,但如果你们不明白,请在评论中告诉我,我会解释)。

好的。我想要做的是修改 CreateTaskPane 函数添加一个class参数(这有意义吗?)所以我可以多次重复使用此函数用于功能区上的不同按钮。我View为每个按钮创建了一个单独的按钮,但我不确定如何通过View.
所以,我在这样的事情之后:(CalendarView 是视图的名称)

和类似的功能:

我真的希望你能理解我正在努力但我无法做到的事情。我感谢任何尝试提供帮助。谢谢

0 投票
1 回答
1675 浏览

vb.net - 如何将自定义任务窗格添加到 Visual Studio

我正在为 Visual Studio 2012 创建一个加载项。我想创建一个自定义任务窗格,我可以在其中填充可由开发人员选择和打开的文件和文件夹。我找到了很多关于如何使用任务窗格为 MS Office 创建加载项的文档,但是我找不到任何关于如何使用加载项将任务窗格添加到 Visual Studio 的任何内容。

谢谢。

0 投票
0 回答
911 浏览

c# - Word 2007 加载项任务窗格在一种特定情况下不起作用

我刚开始使用 Word VSTO 加载项。我想向功能区添加一个组,该功能区有一个用于切换自定义任务窗格的按钮。我希望每个文档都有自己独立的任务窗格。我有这个主要工作,但有一种情况不起作用:

  1. 启动 Word - 打开新文档,一切正常
  2. 打开现有文档(关闭空文档)
  3. 单击切换按钮,窗格不出现
  4. 创建新文档或打开另一个现有文档,窗格出现在该文档上
  5. 窗格现在在所有文档上都可以正常工作,包括 2/3 中的问题之一。

请注意,如果您在新文档 (1) 中输入一些内容,一切都会按预期工作,因此这似乎与加载到初始空文档顶部的现有文档有关,但我无法弄清楚发生了什么上。

这是我在 ThisAddIn 类中的代码:

请注意,PaneControl 是一个完全空的用户控件,当我向其中添加内容时行为不会改变。

附加到功能区按钮的代码是:

任何想法为什么会发生这种情况?

谢谢

罗斯科

0 投票
0 回答
331 浏览

.net - MS Office 共享加载项:为什么不调用 ICustomTaskPaneConsumer.CTPFactoryAvailable 和 IRibbonExtensibility.GetCustomUI?

我们正在为 PowerPoint 编写一个共享加载项IRibbonExtensibilityICustomTaskPaneConsumer在其中实现。通过在 HKCU 中设置相关键和值来为个人用户注册加载项:

  • \Software\Microsoft\Office\PowerPoint\Addins\
  • \软件\类\
  • \软件\类\CLSID\
  • \软件\类\类型库\
  • \Software\Classes\Wow6432Node\
  • \Software\Classes\Wow6432Node\CLSID\
  • \Software\Classes\Wow6432Node\TypeLib\

对于我们几乎所有的用户来说,它都可以完美地工作,但对于某些人来说,方法IRibbonExtensibility.GetCustomUIICustomTaskPaneConsumer.CTPFactoryAvailable没有被调用。但是,实现 IDTExtensibility2 的方法都在运行。不幸的是,我们无法访问用户的计算机,也无法在我们的开发或测试机器上重现该行为。

哪些情况会导致这种情况?

谢谢, 法布

0 投票
1 回答
1403 浏览

c# - 如何从共享库访问 VSTO 插件的 CustomTaskPanes 属性?

我正在为 Word、Excel、PowerPoint 构建一个插件。这个插件带有一个功能区。每当用户单击功能区上的按钮时,都会在侧面打开自定义任务窗格。因为我不想在三个不同的项目中重写相同的代码,所以我有一个共享项目,其中定义了我的功能区 (XML)。

问题:功能区回调必须访问该CustomTaskPanes属性。

我试图将CustomTaskPanes属性注入共享功能区:

但是在执行此方法时,该CustomTaskPanes属性null意味着我正在注入null.

更改功能区的构造函数以便我们可以将 AddIn 注入功能区也不起作用,因为CustomTaskPanes属性是内部的,代码会引发异常:

我不想更改ThisAddIn.CustomTaskPanes属性的访问修饰符,因为它是设计器生成的代码。

我还尝试了反射,结果是MissingMethodException.

我还能做些什么来从共享库访问插件的自定义任务窗格集合?

0 投票
3 回答
7562 浏览

ms-word - 在 VSTO Word 插件中为多个文档创建和管理自定义任务窗格

我正在使用 Visual Studio 2008 中的 VSTO 开发 Word 2007-2010 插件。在我的插件中,我需要为每个打开的 Word 文档创建一个自定义任务窗格。基本上,我需要为每个文档创建一个任务窗格,在文档窗口中显示正确的任务窗格,在文档关闭时执行某些操作,然后删除任务窗格以及对它的所有引用。

这是我到目前为止所做的:

任务窗格创建

我为每个新的、打开的或现有的加载文档创建一个自定义任务窗格,如下所示:

在 CreateTaskPaneWrapper 方法中,如果文档的任务窗格已经存在,我会检查 Dictionary<Document, TaskPaneWrapper>。我这样做是因为如果我尝试打开一个已经打开的文档,则会触发 open 事件。如果它不存在,我创建一个新的 TaskPaneWrapper 类。在其构造函数中,我创建了一个新的任务窗格并将其添加到 CustomTaskPanes 集合中

根据 MSDN,这将任务窗格与当前活动窗口相关联。

任务窗格关闭

Document.Close 和 Application.DocumentBeforeClose 事件都不适合我,因为它们在用户确认关闭文档之前触发。所以我在我的 TaskPaneWrapper 类中使用 Microsoft.Office.Tools.Word.Document.Shutdown 事件,如下所示:

所有这一切似乎工作得很好,任务窗格被创建,绑定到相应的窗口,并被成功删除。但是,我仍然有一个问题 - 当我启动 Word 时,会打开一个空白文档。如果我随后打开现有文档而不更改空白文档,则会删除空白文档及其窗口,而不会触发 Document.Close、Application.DocumentBeforeClose 和 Microsoft.Office.Tools.Word.Document.Shutdown 事件。因为没有调用 OnShutdown 并且没有删除空白文档的任务窗格,所以下一个文档窗口包含两个任务窗格 - 非常新的一个和第一个(孤立的)一个。如何删除这个孤立的任务窗格?访问已删除的文档或窗口引用会引发 COMException(“对象已删除”)。我暂时使用这个黑客:

在 CreateTaskPaneWrapper 方法中,我检查所有现有包装器的此属性并关闭属性为假的包装器。当然,捕获异常有点昂贵,而且这个解决方案非常hacky,所以我想知道,有没有更好的解决方案?在这个问题中,CustomTaskPane.Window 属性被检查为 null,但它永远不会为我返回 null。

另外,使用我当前的逻辑还有其他问题吗?为多个文档管理多个任务窗格的典型方法是什么?

0 投票
10 回答
6685 浏览

excel - Excel 自定义任务窗格未显示

我在 excel VSTO 加载项中显示了一个自定义任务窗格,我正在构建它并显示如下:

这是在ThisAddin.cs文件中完成的,它在我的机器上运行良好,无论是在调试会话下还是通过单击一次安装程序安装的加载项。

但是,在同事的机器上安装插件很麻烦。

加载项运行正常,上下文菜单/功能区运行良好,但窗格拒绝显示。

我在功能区上有一个切换按钮,它可以切换Visible窗格上的属性,即使单击它也不会强制窗格显示。

对此的任何帮助将不胜感激,谷歌证明对此毫无用处。

谢谢。


我应该提一下,这CellTaskPane只是UserControlMSDN 上的文档:http: //msdn.microsoft.com/en-us/library/aa942846.aspx

0 投票
0 回答
164 浏览

javascript - 如何访问资源的日历例外 - Office 插件开发、Microsoft Project

我正在尝试制作一个 Office 任务窗格应用程序,它可以访问资源日历异常,并将它们显示给用户。

我设法访问了资源,我可以获得很多字段,但不能获得日历例外。看起来,它们直接存储在其他地方,而不是 Resource 对象中。

一些代码片段:

然后我使用此 ID 来获取选定的资源字段,例如名称、成本、工作等,并将它们显示在 HTML 任务窗格上的文本字段中。例子 :

我想使用此 ResourceCalendarGUID 访问资源唯一日历,其中存储了异常,并且我想通过 html 任务窗格上的文本字段向最终用户显示这些异常。

感谢您的时间!

0 投票
1 回答
528 浏览

ms-office - 在 Office2013 中设置 VSTO CustomTaskPane DockPosition 很慢

我正在制作一个具有 CustomTaskPane 的 Excel 加载项。在加载时,我尝试设置自定义任务窗格的停靠位置、高度和宽度。设置这些属性在 Excel2010 上几乎立即执行,但在 Excel2013 上几乎需要两秒钟。

我在 MSDN 上看到了一个关于此的问题,但没有给出真正的答案。其他人是否有此问题,是否有解决方法?

0 投票
2 回答
126 浏览

c# - CustomTaskPane 不会出现在 win 7 中,但在开发机器上会出现

我已经构建了一个 EXCEL 2013 Add In。这在我的开发机器上成功运行。我可以在同一台机器上使用 Click-Once 部署安装此加载项。一般来说,这个插件可以在我的机器上完美运行,无论我是从 Visual Studio 启动,还是我清理项目、从控制面板卸载、从单击一次部署安装。

不运行的症状是加载项的功能区选项卡实际上显示得很好。我在此功能区选项卡上有一个按钮,它将使 CustomTaskPane 可见,只有当我将其安装在装有 Windows 7 的用户计算机上时,功能区选项卡仍会显示,但该按钮不执行任何操作。

我修改了加载项,使其在启动时自动显示 CustomTaskPane。它不会为 windows-7 用户显示。

我查看了机器上的应用程序日志,没有发现任何相关问题。关于如何进一步调试的任何建议?