问题标签 [officedev]
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.
c# - 在 Microsoft Visual Studio Tools for Office (VSTO) 3 (C#) 中传递参数的最佳实践
许多与 VSTO 中的 Office 对象模型交互的参数都需要通过引用传递的对象参数,即使参数的名义类型是 int 或 string 也是如此。
- 我想使用这种机制是为了让代码可以修改参数,尽管我不明白为什么这些需要作为通用对象而不是更合适的类型传递。任何人都可以启发我吗?
我一直在使用的机制(取自帮助和 MSDN 资源)本质上创建了一个包含适当数据的通用对象,然后将其传递给方法,例如:
object nextBookmarkName = "NextContent"; 对象 nextBookmark = this.Bookmarks.get_Item( ref nextBookmarkName ).Range;
Microsoft.Office.Interop.Word.Range newRng = this.Range(ref nextBookmark, ref nextBookmark);
这似乎是很多额外的代码,但我看不到更好的方法。我确定我错过了一些东西;它是什么?或者这真的是最佳实践吗?
c# - 如何在 C# VSTO 3 的 word doc 中验证具有给定 ID 的表是否存在
我想在 C#(VS 2008)Visual Studio Tools for Office(版本 3)的 word 文档中检查是否存在具有给定 ID 的表。
显然,我可以遍历文档的 Tables 集合并检查每个 ID,但这似乎效率低下;在我完成后,该文档最终将有几十个表,虽然我知道这不是很多,但循环遍历集合似乎很草率。Tables 集合仅由整数 id 索引,而不是由分配给表的字符串 ID 索引,因此我不能只使用索引,并且文档或表集合没有明显的 Exists 方法。
我想过使用 AsQueryable() 将 Tables 集合转换为 IQueryable,但我不知道如何以可以通过 ID 查询它的方式执行此操作。
指向文档或示例代码的指针将不胜感激,或者如果有更好的方法来解决它,我也完全赞成
.net - 在没有本地管理员的情况下向 VBA 公开 VSTO 功能
将 Dotnet VSTO Excel 加载项中的某些功能公开到 VBA 的最佳方式是什么,而不要求用户是本地管理员(即没有 COM 注册,没有 HttpListener)?是否可以使用 VBA 中的 Microsoft 消息队列?
winforms - 在 Winforms 应用程序中选择 Office 2003/2007 COM 对象(正确的一个)
我们正在创建一个需要引用 Office 2003 或 Office 2007 COM 对象的 Windows 窗体应用程序(C# 或 VB.NET),具体取决于安装的 Office 版本。处理这种情况并在运行时引用正确的 COM 对象的最佳方法是什么?
excel - 为 Excel VBA 解决方案创建用户帮助文档的最佳方式是什么?
VBA 解决方案的大小可以有很大的不同。
我想将用户帮助文档添加到所有解决方案中,但创建和部署帮助的工作量需要与解决方案的大小相匹配。
vsto - Visual Studio Tools for Office (VSTO 2005) 新手部署问题
我有一个带有 VSTO 字项目的 Visual Studio 设置,当我点击运行时它运行良好。
但是,如何在不运行 Visual Studio 的情况下设置 Word 文档以使用我的代码?
vsto - 适用于 Office 的 Microsoft Visual Studio 工具。值得使用吗?
似乎VSTO
代码的部署非常麻烦。
我的用例是我需要在 word 中强制执行某种内容结构。我最好在 VBA 中做这一切吗?
c# - System.Windows.Forms.ToolStrip 高度或自动调整大小
我在 Excel 2007 操作窗格中使用了一系列工具条。我以编程方式将按钮添加到每个 ToolStrip,然后将每个 ToolStrip 添加到操作窗格。到现在为止还挺好; 我的 ToolStrips 及其关联的 ToolStripButtons 出现。
问题在于显示 ToolStrip 的全部内容。我将 ToolStrip.AutoSize 设置为 true (实际上是默认设置)。该属性的描述如下:
"获取或设置一个值,该值指示控件是否自动调整大小以显示其全部内容。"
问题是,即使它设置为 true,我的 ToolStrips 也会显示操作窗格的宽度,但只有一行高;对于那些包含更多按钮的 ToolStrip,然后可以在该空间中显示 ToolStrip 不会垂直扩展以显示整组按钮,而是在右侧显示下拉箭头,允许用户查看剩余的纽扣。
那么,我的问题是我是否误解了这个属性(或者实际上是这个组件)的用法?例如,AutoSize 是否仅与水平空间有关?不管它值多少钱,我也尝试设置高度值无济于事。
c# - 在 Excel 自动化中,如何优雅地处理文件打开时出现的无效文件格式错误?
我正在尝试使用“excelApp.Workbooks.Open()”方法在 C# 程序中打开 Microsoft Excel 文件。碰巧的是,如果文件的格式无效,此方法会导致显示错误消息框。但是,我不希望那样;我希望在我自己的代码中优雅地处理这个错误。
我的问题是,我该怎么做?
上面的方法不会抛出任何我可以捕捉到的异常。即使确实如此,仍然有那个讨厌的消息框。因此,也许唯一的方法是在打开文件之前验证文件格式。那么,Excel API 中是否有另一种方法可以进行此类验证?
visual-studio - 为 Office System 安装 Visual Studio 工具
我有 VS 2008 Standard,我正在尝试打开一个作为 Outlook 插件的项目,该项目无法加载显示消息
“找不到 C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\Office Tools\Microsoft.VisualStudio.Tools.Office.Office2007.targets”。
缺少 Office 工具目录,但我已经安装了 Office 2007 主要互操作程序集和用于 Microsoft Office 系统 3.0 的 Visual Studio 工具。
我错过了什么?