Tag: vsto

VSTO 2012:向后兼容

最近, Visual Studio Tools for Office 2012 (VSTO 2012) 可供下载 。 这个新版本是否仍然可以用于为旧版Office(2007,2010)开发附加解决scheme? 除VSTO 4.0之外,是否有任何优势(除了Office 2013支持)

C#技巧 – 通过string获取常量值

有没有什么好的方法来将string“xlSum”,“xlAverage”和“xlCount”转换为Microsoft.Office.Interop.Excel.XlConsolidationFunction下的值? 我想reflection会很慢(如果可能的话)。 这些常数值大约有10个。 如果可能的话,我试图避免一个大的switch语句。

获取在Excel中选定范围内的活动单元格?

我正在和VSTO一起工作。 在这种情况下,在button单击Excel工作表上将显示input框,我会得到选定的范围。 我想知道如何从input框中获取所选范围hac Excel工作表的活动单元格地址。 object objInputBox= Excel.Application.InputBox(prompt, field, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 8); ExcelXP.Range selectedRange = objInputBox as Excel.Range; string rangeName = selectedRange.get_Address(Type.Missing, Type.Missing, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing); string activeCell =Application.Application.ActiveCell.get_Address(true, true, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing); 我如何获取rangeName中的活动单元格地址? 提前致谢

有没有一个包装(框架)vsto word和excel

我正在与VSTO和Interop命名空间合作一段时间。 对于其大部分的部分是好的(足够)。 但有时它接缝真是荒谬。 有一些方法可以返回一个必须被转换的对象。 像这个例子一样,添加一个新的工作表: sheet = (Excel.Worksheet)application.ActiveWorkbook.Worksheets.Add(missing, application.ActiveWorkbook.ActiveSheet, 1, missing); 其他时候,您需要使用缺less的types进行方法调用,因为没有方法覆盖它。 ( 我知道这只是C#中的一个问题,而不是VB ) 就像在这个例子中保护excel表格一样: sheet.Protect(missing, true, true, true, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); 我现在的问题是:是否有任何包装,框架,API,以避免所有这些小麻烦? ( 或者提供一些更方便的方法的任何一种框架 )

如何禁用Excel内置的RibbonButton?

是否有可能将一个Excel中内置的RibbonButton 2010设置为enabled = false从Excel VSTO加载项? 我尝试了以下内容: CommandBarControls controlls=Globals.ThisAddIn.Application.CommandBars.FindControls(MsoControlType.msoControlButton, 7374, null, false); /// 7374 is the office control id of the control I want to access foreach (CommandBarControl control in controlls) { control.Enabled = false; } 但是,这似乎只适用于右键单击上下文菜单。 而不是为了丝带button。

select工作簿Excel已经用button单击方法打开

我有一个问题,我想用button单击方法插入数据,但此方法是在function区菜单(VSTO)中创build的。 为了更好地理解这一点,我想对一个数据库进行查询,把它发送给一个人员列表,然后在Excel上打印出我想要看到的人。 例如,我只想看名字和生日,或名字,身份证和职业。 为此,我需要select运行应用程序时打开的工作簿。 所以我试试这个: private void button1_Click(object sender, RibbonControlEventArgs e) { Excel.Workbook wb = (Excel.Workbook)Globals.ThisWorkbook.InnerObject; Excel.Worksheet ws = wb.Sheets["Sheet1"]; ws.Cells[1, 2] = "teste"; } 使用Excel = Microsoft.Office.Tools.Excel; 使用ExcelTools = Microsoft.Office.Tools; 使用Microsoft.Office.Interop.Excel; 但是我得到这个错误: **"Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Tools.Excel.Workbook'. This operation failed because the QueryInterface call on the COM […]

Excel工作簿激活C#VSTO的事件歧义

这是错误: Error 2 Cannot assign to 'Activate' because it is a 'method group' Warning 1 Ambiguity between method 'Microsoft.Office.Interop.Excel._Workbook.Activate()' and non-method 'Microsoft.Office.Interop.Excel.WorkbookEvents_Event.Activate'. Using method group. 我可以用 myWorkbook.Deactivate += new Excel.WorkbookEvents_DeactivateEventHandler(ThisWorkbook_Deactivate); 因为没有工作簿的deactivate()方法。 有一个Activate()方法,我不想使用。 我想要处理这样的工作簿激活事件,但我得到上面的错误 myWorkbook.Activate += new Excel.WorkbookEvents_ActivateEventHandler(ThisWorkbook_Activate); 有什么想法吗?

VSTO c#检查单元是否为空

所以我开始使用VSTO,我期望这个问题已经被问到和回答,但是,我找不到这样的答案。 所以,如果我有一个单元格的引用,我该如何检查它是否为空。 伪代码: Excel.Range cell = (Excel.Range)MyRange.Cells[1, 1]; if (cell.value2.IsNull) { Stuff } else { Other Stuff } 不幸的是,IsNull不存在。

c#:以编程方式在工作表范围内创build一个“命名范围”

我们如何创build一个范围设置为工作表的“命名范围”? (因为我们可以从Excel手动执行此操作,所以我想在代码中有这种方法) 使用“ Range.Name ”属性设置名称将创build工作簿范围的命名范围。 我试着用'<Sheet Name>!'作为范围名称的前缀。 如这里所build议的那样,但是它不起作用。 这个名字没有被设置。 任何想法如何可以在C#中完成? 更新(2013年5月16日):通过shahkalpesh工作。 我使用的原始代码(在VS 2010中)是: using Excel = Microsoft.Office.Interop.Excel; Excel.Worksheet ws = Globals.ThisAddIn.Application.ActiveSheet; Excel.Range range = ws.Range[ws.Cells[x,y], ws.Cells[(x + height), (y + width)]]; range.Name = "MyName"; // MyName in workbook scope 修改后的代码是: ws.Names.Add("MyName", range); // MyName in worksheet scope 谢谢,idssl。

编程Excel

我想给我的男朋友一个编程的味道。 如果这取决于我,我会教计划,Haskell或F#,但是因为他宁愿学习一些可以用作财务顾问(即编程Excel)的工作。 什么是编程Excel的选项? 哪一个你会推荐给那些刚刚学习编程而又想完成任务的人? 是否有任何书籍/资源,你推荐给他(先进的Excel用户,初学者程序员)或我(中级Excel用户,高级程序员)? 谢谢。 我已经开始编写Excel的博客来logging我们的发现。