Tag: 自动化

Excel:获取选定的行

我正在使用Microsoft.Office.Interop.Excel,我找不到方法来返回选定的行。 我所说的“被选中”的意思是,当你点击左边的排水沟时,行号会自己select一个或多个相邻或不相邻的行(这将突出显示整行)。这与select区域不同表格本身的区域。 到目前为止,我已经看了app.Selection,app.Cells,app.Rows,这些都没有给我行。 app.Selection给了我实际的单元格内容,这不是我想要的。 有任何想法吗? 谢谢!

我如何识别MS Excel对象types?

我正在使用后期绑定的OLE自动化来处理Excel。 问题是我不知道如何使用Selection返回的值,因为我不知道它是什么types… 我怎样才能确定它返回给我什么样的对象? 我希望有一个types的名字…. 或者我必须通过一个我期待的价值清单?

当用户注销时,Excel COM自动停止工作

我开发了一个服务器应用程序,使用Excel 2007 COM自动化来转换一些xls文件。 它作为Windows Datacenter实例上的一个服务启动,在其自己的用户下运行,并且必须更改DCOM安全设置(“以交互式用户身份启动”)才能使其工作。 问题是,当我注销(通过RDP),它停止工作。 我login,它再次运作。 有没有人有同样的问题? 我很高兴现在有任何帮助。

Java中是否有OLE自动化?

是否有可能在Java中使用OLE自动化? 如果没有,为什么在Java中不可能? 我正在寻求以不同格式(即.csv等)自动导出excel电子表格。 感谢您提前回答:)

检查Variant值“Nothing”

这是我去年遇到的东西,所以SO似乎是一个很好的地方来logging它:) 问:从Delphi中自动化Excel(/ Word / …)时,如何检查Excel函数是否返回variablesNothing (如在VBA中调用)?

PowerShell:从excel文件中删除VBA模块

我想做的事: 打开一个excel文件 dynamic导入VBA模块并从模块运行一个function 卸下模块 所以这是我的PowerShell代码: $excel = New-Object -ComObject Excel.Application $excel.Workbooks.Open($filepath) | Out-Null $macro = $excel.ActiveWorkbook.VBProject.VBComponents.Import($MacroFilepath) $Excel.ActiveWorkbook.Application.Run("HoursSumCounter.main") | Out-Null $excel.ActiveWorkbook.VBProject.VBComponents.Remove($macro) (自然,我启用访问Excel的信任中心设置中的VBA项目,以便能够dynamic地导入模块) 现在我得到的错误是: Cannot find an overload for "Remove" and the argument count: "1". At line:1 char:1 + $excel.ActiveWorkbook.VBProject.VBComponents.Remove($macro) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodException + FullyQualifiedErrorId : MethodCountCouldNotFindBest 这整个事情实际上是如果我在Excel(无PowerShell)中这样做。 但这是我发现的… 我检查了删除function的重载: [DBG]: […]

如何使用Excel Interop获取过滤行的范围?

我正在使用Excel互操作程序集为我的项目,如果我想使用自动filter,那么可能使用 sheet.UsedRange.AutoFilter(1,SheetNames[1],Microsoft.Office.Interop.Excel.XlAutoFilterOperator.xlAnd,oMissing,false) 但我怎么能得到过滤行? 任何人都可以有想法?

Excel自动化 – 如何只说不

我正在开发一个vb.net控制台应用程序,它可以逐个打开许多电子表格,读入一对电池并closures文件。 一些电子表格有Excel在我打开文件时重新计算的公式,我收到一个对话框询问我是否想在closures电子表格时保存对该电子表格的更改。 消息:“是否要将更改保存到myfile.xls?当打开由早期版本的Excel最后保存的文件时,Microsoft Office Excel将重新计算公式” 如何自动拒绝该对话框? Dim newCBD As New CBD Dim xlApp As Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet xlApp = New Excel.ApplicationClass xlWorkBook = xlApp.Workbooks.Open(myFile) xlWorkSheet = xlWorkBook.Worksheets(1) …do a bunch of junk here xlWorkBook.Close() xlApp.Quit() 谢谢!

DDE是否仍然重要? 哪些是替代品?

我正在研究一个股票交易信息平台,我们正在考虑提供我们的平台和自制的Excel文件之间的链接。 金融市场仍然受到DDE服务器方式的束缚,现在是否仍然如此呢? 在Excel文件,OLE DB查询上自动进行在线数据更新有哪些select? 我想知道是否有人在C#和.NET中实现OLE DB提供程序的任何示例。 我们的API将完全在线和RESTful,有任何Web服务替代链接这些数据到Excel? 我记得有一个Web Services Toolkit的Excel 2003,但在Excel 2007中找不到任何与之相近的东西。

C#Excel自动化导致Excel内存泄漏

我正在尝试使用C#与COM互操作库打开一套非常沉重的Excel工作簿。 我必须使用C#,因为我还需要启动macros,移动一些单元格,并开始一个自定义的Excel加载项,我的公司使用。 然后我的程序退出,将工作簿打开,每个都在一个单独的excel实例中。 当程序退出时,我不希望工作簿被closures。 问题是,当我的C#程序退出,随着时间的推移,Excel工作簿逐渐消耗更多的内存,直到他们从原来的500 MB内存消耗3.5演唱会的内存。 我曾经手工打开工作簿,工作表从未消耗过多的内存。 一旦我开始使用C#打开它们,由于内存使用量过大,它们开始中断。 我的理论是,当我与COM Excel对象交互时,我创build了一个内存泄漏。 以下是我的原始代码: using Excel = Microsoft.Office.Interop.Excel; … excelApp = new Excel.Application(); excelApp.Visible = true; excelApp.Workbooks.Open(filename, misValue, misValue, misValue, misValue, misValue, true, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue); excelApp.Calculation = Excel.XlCalculation.xlCalculationAutomatic; 我阅读了关于如何使用Marshal来释放使用的信息,所以现在我正在尝试下面的代码,但是除了打开所有的表格并且看看它们是否消耗了太多的数据之外,没有简单的方法来testing它。 excelApp = new Excel.Application(); excelApp.Visible = true; Excel.Workbooks currWorkbooks = excelApp.Workbooks; Excel.Workbook currWorkbook […]