Tag: officedev

在Excel自动化中,如何在文件打开时正常处理无效的文件格式错误?

我正在尝试使用“excelApp.Workbooks.Open()”方法在C#程序中打开Microsoft Excel文件。 碰巧,如果文件的格式无效,该方法会导致显示错误消息框。 但是,我不想那么做; 我希望在我自己的代码中正确处理这个错误。 我的问题是,我该怎么做? 上面的方法不会抛出任何我能捕捉到的exception。 即使这样做,无论如何,仍然有那个讨厌的消息框。 所以也许唯一的办法就是在打开文件之前validation文件格式。 那么,Excel API中的另一种方法是否允许进行validation?

分布在Excel中构build的Office应用程序 – 多个版本,从旧版本复制数据

我正在开发一个项目,我们希望能够将Excel电子表格部署到多个用户,然后随着项目的进展,能够将该电子表格更新为不同的版本。 基本上Excel是用户界面,我们正在调用几个使用VBA代码繁重的.NET 4.0 .dll。 我发现了有关微软ClickOnce技术的信息,看起来非常有希望。 http://msdn.microsoft.com/en-us/library/ff961899.aspx 我所设想的问题涉及实际电子表格的更新。 用户将填充许多数据工作表,每次我们发布一个新版本时,他们将不得不将所有数据粘贴到新程序中。 有谁知道一种方法,我们可以使用像ClickOnce解决scheme中部署的macros启用的模板,然后我们可以链接到用户最新的工作簿? 这个想法是,只要我们只增加function而不移动东西,我们可以向前移动而不会给用户带来很大的不便。 任何想法将不胜感激。

Range.address与range.cell 地址不匹配

我正在使用2012年11月发布的用于Visual Studio 2012的Office开发工具为Excel 2013开发VSTO插件。 我有一个工作表的参考,我想访问一个范围内的单元格的值。 这应该是一个简单的任务,但由于某种原因,我试图访问的单元格实际上比范围高一行。 我不确定是什么原因造成的,或者如果我以错误的方式来解决这个问题。 下面的简单例子解释了我看到的行为。 var dataEntrySheet = (Worksheet)Globals.ThisAddIn.Application.Worksheets["Data Entry"]; var rangeAddress = dataEntrySheet.Range["A2"].Address var cellAddress = dataEntrySheet.Range["A2"].Cells[0].Address 以上的结果是: rangeAddress =“$ A $ 2” cellAddress =“$ A $ 1” 有谁知道这是为什么发生?

适用于所有版本的Excel的程序

我最近开发了一个Windows窗体应用程序,它有几个数据网格。 我的客户需要将数据导出到Excel中。 他们正在使用不同版本的Excel(即2003,2007,2010,2013),但我使用Office 2013.我已经使用Excel 2013的参考 (微软excel 15.0对象库) 在我的程序中。 最近,我的客户报告说,出口选项不起作用。 从我的调查看来,我的应用程序对于那些正在使用Office 2013但不适用于以前的Office版本的用户来说工作正常。 我能做些什么来确保我的应用程序在旧版本的Excel中工作?

将VSTOfunction公开到VBA而不是本地pipe理员

将Dotnet VSTO Excel加载项中的某些function公开给VBA,而不要求用户成为本地pipe理员(即不需要COM注册, 不需要HttpListener ),最好的办法是什么? 是否可以使用VBA中的Microsoft Message Queues?

System.Windows.Forms.ToolStrip高度或自动大小

我在Excel 2007操作窗格中使用了一系列ToolStrips。 我正在编程添加button到每个ToolStrip,然后将每个ToolStrip添加到操作窗格。 到现在为止还挺好; 我的ToolStrips将出现,并显示其相关的ToolStripButtons。 显示ToolStrip的全部内容都会带来问题。 我有ToolStrip.AutoSize设置为true(这实际上是默认)。 该物业的描述如下: “获取或设置一个值,该值指示控件是否自动resize以显示其全部内容。” 问题是,即使它设置为true,我的ToolStrips显示的行动窗格的宽度,但只有一行高; 对于那些包含更多button的ToolStrips,可以在该空间中显示,ToolStrip不会垂直展开以显示整组button,而是在右侧显示允许用户看到剩余的下拉箭头纽扣。 那么我的问题是,我是否误解了这个属性(或者这个属性)的用法呢? AutoSize仅与水平空间有关,例如? 无论什么价值,我也尝试设置高度值无济于事。

为Excel VBA解决scheme创build用户帮助文档的最佳方法是什么?

VBA解决scheme的规模可能差异很大。 我想向所有解决scheme添加用户帮助文档,但创build和部署帮助所需的努力水平需要与解决scheme的大小相匹配。