Tag: 自动化

从Delphi程序中删除Excel中的行

我想用Delphi7程序从Excel中删除行。 这引发了一个exception: Excel := CreateOleObject('Excel.Application'); … Excel.ActiveWorkBook.Rows(row).Delete; 我究竟做错了什么?

如何在自动化不同的本地化版本的Excel时正确设置NumberFormat属性

我遇到了以下问题: 当从我的Delphi程序通过OLE自动化Excel,并尝试设置单元格的NumberFormat属性时,Excel正在期待格式化string以本地化的格式。 正常情况下,通过在Excel中loggingmacros来检查格式时,Excel将如下所示:Cells(1,2).NumberFormat =“#,## 0.00” 这意味着千位分隔符是“,”而小数点分隔符是“。”。 实际上,我正在使用Excel的本地化版本。 在我的语言环境中,千位分隔符是“”,小数点分隔符是“,”。 所以每当从我的Delphi程序中设置NumberFormat,我需要指定它像“### 0,00”。 我的问题是:显然,如果我在程序中对这些值进行硬编码,那么当我的程序与英文或另一个不同的本地化版本的Excel一起使用时将会出现exception。 有没有“通用”的方式来设置NumberFormat属性? (使用默认的英文区域?) 谢谢! 更新:我发现了一个更优雅的方式来做到这一点: http : //www.delphikingdom.com/asp/viewitem.asp?catalogid=920&mode=print这是在俄罗斯(我不会说太多)但你可以很容易地理解代码。

MS Access的PowerPoint自动化…查询到图表?

大家好! 我想知道有没有人可以帮助我这个… 我有一个Access数据库,我用它来跟踪我工作的指标和“数字紧缩”数据,我用它来构buildPPT演示文稿。 我通常每个月要做大约40个百分点,他们是98%的图表。 现在,我一次运行一个查询(使用SQL语句),获取结果数据并将其复制并粘贴到excel模板中(我简单地在这个“模板”中做了一个模拟表格,以便图表已经被构build和格式化),然后将图表作为图片复制到ppt模板中。 所以有很多手工的工作,这一点不会那么糟糕,只有一个月的时间我才能有这样的口气。 所以…..我怎么能运行多个查询在Access VBA在同一个数据集/表(我必须按季度,按月,按地区,按州,按地点…和所有这些是Top5聚合,因此图表的原因),然后将结果数据发送到特定的Excel工作簿,同时定义什么进入什么单元格范围? 如果我把所有的数据都转换成excel,并准备好图表,那么是否有一些VBA将excel(activeworksheet)中的图表作为四维视图布局中的图片粘贴到PowerPoint中? 我可以使用Access to PowerPoint的方法做同样的事情,并一起切出excel吗? 充其量我是一个新手! 任何和所有的帮助,提示,build议非常感谢!

使用Excel在F#中绘图

能够使用答案在F#中将数据添加到Excel电子表格 .NET 4.0的F#和Excel集成(Visual Studio 2010 Beta 1) 我发现自己无法弄清楚如何使用插入的数据来创build图表(在使用F#的Excel中以编程方式)。 如何才能做到这一点? 我正在使用Excel 2007(Office 12组件)和F#2.0,如果这是相关的。

部署Excel UDF

我有一个调用Web服务的Excel UDF。 UDF代码是一个自动化插件代码,它是一个C#类库,我为它创build了一个安装程序。 当我运行这个设置时,在toos – > addins – > excel的自动化插件列表中不会出现对特定插件代码的引用,并且这个函数不会在编辑栏中出现。 我正在使用VS 2008和Excel 2003。 我在这里错过了什么? 我应该定义Excel的path,以从中select一些东西,使其指向从udf代码生成的DLL? 还是有什么安全问题需要照顾? 客户端计算机的安全级别设置为“完全信任”,但插件未出现在列表中。 我在这里错过了什么?

如何从PowerShell连接到Excel的现有实例?

所有通过PowerShell自动运行Excel的示例都以这一行开头: PS> $Excel = New-Object -Com Excel.Application 这似乎是处理一个新的Excel实例,例如运行$Excel.Visiable = $true将显示一个空的空白Excel窗口,而不是切换到现有的工作簿。 如果已经有一个Excel实例在运行,有没有办法连接到它?

Excel范围使用问题(单元格错误检查)

我为每个单元格有以下错误:“该单元格中的数字被格式化为文本或前面加撇号”要复制错误:我必须存储来自Web服务作为string数组的结果:示例:(3由3个arrays) $ 402,568.03 26.2%30,052 $ 107,719.59 7.0%55,176 $ 81,370.35 5.3%54,365 让值为string数组,保存示例(string[,]值)设r是目标的范围(Excel.Range r)如果我这样做:r.Value2 = values; 我想知道如何摆脱它。 任何.net代码将是伟大的(C#或VB.NET) 注意:1)因为数组可能相当大(100,54)或(1024,104),所以在每个单元中循环不是一个选项。 我已经做了,它没有这个错误,但性能是非常糟糕的。 2)禁用错误不是一个选项,因为我没有控制客户端设置。 3)我注意到,我使用转换到数字上下文菜单修复了这个问题,但是可以通过编程的方式来实现。

如何使用C#在Excel中的图表上添加多个系列

我想添加如下图所示的图表。 这个图表有3个系列(黑色,红色,蓝色)。 以下是在图表上创build“一个”系列的代码块。 Excel._Workbook oWorkbook = (Excel._Workbook)oSheet.Parent; Excel._Chart oChart = (Excel._Chart)oWorkbook.Charts.Add(oSheet, Type.Missing, Type.Missing, Type.Missing); // Y axis data Excel.Range oRange = oSheet.get_Range(yRange, Type.Missing); // Creates a chart oChart.ChartWizard(oRange, chartType, 2, Excel.XlRowCol.xlColumns, Type.Missing, Type.Missing, false, title, xAxisTitle, yAxisTitle, Type.Missing); // Sets X axis category Excel.Series oSeries = (Excel.Series)oChart.SeriesCollection(1); oSeries.XValues = oSheet.get_Range(xRange, Type.Missing); oChart.Name = chartName; MSDN […]

使用VBA从Excel生成VCards

我正在创build一个Excel文件,我将手动填写多个联系人信息,以便我可以将联系人(一个接一个)或全部导出到指定目录中的单个vcf文件。 我想最好的方法是通过VBA,但我不是很熟悉,需要一点点的推动。 请参阅下面的联系人字段的Excel文件的截图。 任何指导将不胜感激。 好吧,所以我最初开始着手将每行导出到一个单独的vcard。 我正在遵循以下策略: 创build一个临时的新工作表(tmp) 粘贴标题:BEGIN:VCARD VERSION:3.0 按照我的图像复制粘贴第四行,以便它包含VCARD的ID以及我试图导出的行(在第一种情况下为第六行)。 我将它们粘贴到工作表tmp。 我在这个阶段卡住了,因为vcard用于某些领域的方式是用“;”来分隔它们。 他们处于不同的位置。 我不知道如何通过查看第4行的字段来在VBA中生成这些数据。例如:N1和N2应该为我创build行:N:Stuart; Carol。 ADR领域也是如此。 一旦完整的代码生成,我有代码来生成VCARD文件。 任何帮助在这一点将不胜感激。

C ++未处理的exception – 堆已损坏

我正在苦于间歇性的C ++应用程序崩溃。 我不是一个C ++程序员,但我负责解决这个问题,所以非常希望你能帮助我。 通常应用程序运行良好,然后有时会崩溃,例外。 当从运行exe进入debugging时,高亮显示的代码行似乎是错误的 – 请参阅第一个屏幕截图。 我在第二个屏幕截图中扩大了一些当地人。 这行代码调用一个函数“ClearVariant”代码如下这个函数: /* * ClearVariant * * Zeros a variant structure without regard to current contents */ void CXLAutomation::ClearVariant(VARIANTARG *pvarg) { pvarg->vt = VT_EMPTY; pvarg->wReserved1 = 0; pvarg->wReserved2 = 0; pvarg->wReserved3 = 0; pvarg->lVal = 0; } 整个cpp文件在post的末尾。 OpenExcelFile是导致这个问题的函数 – 就像你可以从屏幕截图中的调用栈一样。 // XLAutomation.cpp: implementation of the CXLAutomation […]