Tag: vsto

在代码中的Excel选项卡之间切换

有没有办法在代码中的Excel标签之间切换? 我正在创build和加载在某些条件下加载。 然后,我想我的加载项选项卡被选为启动时的默认选项卡… 谢谢 编辑:伙计们,我正在谈论色带中的TABS。 例如,我想在启动时selectRIBBON中的“公式”选项卡。 不是床单….

VSTO Excel加载项将不会加载

我目前正在开发一个VSTO Excel加载项目。 加载项已成功安装我们的用户。 问题是,只有pipe理员用户可以查看加载项,非pipe理员用户似乎无法加载加载项,loadbehavior始终设置为2.非pipe理员用户不能同时设置VSTO系统环境启用日志logging。 我是否错过了安装过程中的一个步骤? 有没有解决方法? 任何帮助将不胜感激,谢谢。

如何在C#中检查input(xls)文件的内容types?

我必须在C#中读取.xlsx文件。 我正在做如下。 但我的行可以有string或双。 Input Excel Test file 1 v1 c1 -3.99 码: private void button1_Click(object sender, EventArgs e) { Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; Excel.Range range; string str; int rCnt = 0; int cCnt = 0; xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Open("csharp.net-informations.xls", 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, […]

你可以在Mac上用Visual Studio 2010编写C#Excel加载项吗?

我有Windows 7,并将写入Visual Studio中。 我已经为其他Windows电脑做过这个,但从来没有试图部署到Mac之前。 可能吗?

在范围中查找列

是否有可能知道在给定列的范围内存在哪些列,例如“A:C”存在列A,B和C,例如“G:K”存在列G,H,I,J和K以及“ Z:AC“有Z,AA,AB和AC 我正在使用C#和COM iterop

如何在Excel 2010中强制执行CLR版本

我在VS 2010中创build了一个启用了VSTO的.xlt模板项目,目标是.NET 4.0。 我可以在大多数64位Windows 7/32位Office 2010系统上安装它,但在安装.xlt并在一台32位Windows 7/32位Office 2010计算机上打开时会出现下面的错误。 从它的外观来看,Excel正在加载.NET 2.0和3.5程序集的一些合并。 在打开.xlt之前,我已经确保禁用所有其他加载项。 我如何强制Excel使用.NET 4.0 CLR。 为什么它加载这些旧的程序集? ************** Exception Text ************** Microsoft.VisualStudio.Tools.Applications.Runtime.CannotCreateCustomizationDomainException: Customization could not be loaded because the application domain could not be created. —> System.BadImageFormatException: Could not load file or assembly 'BatchUploadTemplate, Version=1.0.4024.22371, Culture=neutral, PublicKeyToken=f0ddd6d55be31a41' or one of its dependencies. This assembly is built by […]

如何获得“数据validation”CommandBarButton对象?

我需要隐藏数据validationbutton,当用户切换到特定的工作表,但我无法在Application.CommandBarsfind此button。 我试图循环出所有的CommandBar对象及其控制名称,但仍然没有find,有没有人试过这个?

有没有更好的方法来从Excel工作簿插入工作表到列表中?

我有一些代码用于从Excel工作簿中读取工作表,然后填充一个列表。 我得到一个范围,把它放入一个二维数组,然后用循环遍历并填充列表。 我的问题是,有没有更好的方法来达到同样的结果? 我的意思是,用更less的代码和更快。 我必须做4张,这需要260毫秒。 public static void LoadDdrDataIntoObjects(ref List<Receivables> recList, ref List<Dilution> dilList, ref List<Accountable> accList, ref List<Outstanding> outList, string sheet) { Workbook pantaReiWorkBook = PantaReiApplication.ActiveWorkbook; Sheets pantaReiWorkSheets = pantaReiWorkBook.Sheets; Worksheet pantaReiWorkSheet = pantaReiWorkSheets[sheet]; Range pantaReiLastCell = pantaReiWorkSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell); Range pantaReiRange = pantaReiWorkSheet.Range["A1:" + pantaReiLastCell.Address.Trim(new char['$']), Type.Missing]; object[,] pantaReidataRange = (object[,]) pantaReiRange.Value[Type.Missing]; for (var row […]

加速使用WPF的文档自定义的Excel VSTO启动时间

我有一个有点复杂的Excel 2010文档定制。 此自定义还包括自定义任务窗格内的WPF用户控件和一些popup式控件。 问题是我的定制需要大约15秒的时间才能启动。 有没有好的技术来优化这个启动时间? 我的初始化代码如下所示: // Create a WPF app inside VSTO to configure resource dictionaries and display language _wpfApp = new System.Windows.Application(); // Load the resource dictionary var resources = System.Windows.Application.LoadComponent( new Uri("ModernCashFlow.WpfControls;component/Resources/CustomResources.xaml", UriKind.RelativeOrAbsolute)) as System.Windows.ResourceDictionary; // Merge it on application level _wpfApp.Resources.MergedDictionaries.Add(resources); // Set WPF's app language to system default – useful […]

Excel控件 – dynamic删除combobox

我已经dynamic地在工作表中添加了combobox,并且我想在两个事件结束时dynamic地删除combobox – 特别是combobox.LostFocus和combobox.KeyDown事件。 它目前适用于两种情况: 使用手动从下拉菜单中select一个项目 用户部分键入一个项目,自动完成填充其余部分,然后用户敲击键盘input。 如果用户inputselect的整个文本并按下回车键,则不起作用。 我收到消息: COMException被用户代码取消:无法获取OLEObject类的Name属性 Visual Studio指向行'sheetVSTO.Controls.Remove(myBox);' 在myBox_LostFocus事件处理程序中作为失败的来源。 用户显示能够将整个文本input到combobox中并按下回车键。 任何帮助,将不胜感激。 这是我的(如果需要更详细的信息,请告诉我): private void AddComboBox(String[] list) { Excel.Worksheet sheet = Globals.ThisAddIn.Application.ActiveSheet; Microsoft.Office.Tools.Excel.Worksheet sheetVSTO = Globals.Factory.GetVstoObject(sheet); Excel.Range cell = Globals.ThisAddIn.Application.ActiveCell; Microsoft.Office.Tools.Excel.Controls.ComboBox myBox= new Microsoft.Office.Tools.Excel.Controls.ComboBox(); myBox.Name = "button1"; myBox.Items.AddRange(list); myBox.KeyDown += new KeyEventHandler(myBox_KeyDown); myBox.LostFocus += new EventHandler(myBox_LostFocus); myBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend; myBox.AutoCompleteSource = AutoCompleteSource.ListItems; myBox.Focus(); […]