Tag: delphi

delphi5与自动化和Excel 2007运行Excel阅读

在我正在debugging的delphi 5程序中有这段代码: s:string vararray:variant; vararray := VarArrayOf(['']); vararray := ExcelWorkSheet1.UsedRange[0].Value; s := VarToStr(vararray); 当Excel XP和2003运行时,这用于完美的工作。 但自从我更改为Excel 2007(也是Windows7)之后,delphi在最后一行('无效的变体types转换')中给出了变体types转换错误。 有人能帮我解决这个问题吗? 这个代码在过去的5年中还没有被触及,我无法find一个很好的来源来logging这些组件 谢谢!

Excel导出:文本标题栏或组标题栏中的对象分别具有不同的列

我需要QuickReport导出到XLS文件,问题是,我得到我的数据对象之间的空列,发生这种情况,因为在创buildstream时,根据对象的位置从上到下设置列,在这样的方式是如果一个对象的左边位置没有被设置成与它下面的一个细节对象完全相同的位置,那么这个对象将得到它自己的单独的列,这将导致它下面的空单元格,否则可能会被细节对象占用。 一个例子是:如果标题是“Customer List”,两个明细栏是“Customer Nr”和“Customer Name”,标题将被放置在B1中,那么两个明细对象将接收到A2和C2。 我想要的是让他们接受A2和B2: ~~~~~~~~~|Customer List|~~~~~~~~~~~ CustNr~~~|(Empty Cell)~~|~CustName~~ ->Not good (This is what I'm getting now) 🙁 ~~~~~~~~~|Customer List|~~~~~~~~~~~~~ CustNr~~~~|CustName~~|~~(empty Cell)} ->Good (This is the wanted result) 🙂 我从理论上思考,需要做的是在确定最大列数时不考虑头带,但是我不知道如何实现。

获取excel图表行的delphi颜色值

当Excel在图表上绘制线条时,会为每个数据序列的轨迹分配默认颜色。 第一个是黑色,第二个是青色等等。这些颜色的分配是否logging在案? 我想使用Delphi在图上绘制轨迹,但是要保持颜色与Excel相同(Delphi应用程序正在replace目前用Excel工作簿完成的东西)。

Delphi 7 Excel Ole对象的文本字体颜色

如何设置字体颜色的单元格(半文本其他颜色)在delphi7和MS Excel 2007 +? 例:

从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这是在俄罗斯(我不会说太多)但你可以很容易地理解代码。

如何将Excel中的元素(图表)定位到某个单元格?

我在Excel中有一个图表,我需要定位(移动)到某个单元格。 我正在寻找这样的一些东西: procedure TMyExcelClass.MyProcedure; var sheet, chartObject: Variant; begin sheet := fExcel.ActiveWorkBook.Sheets['Some sheet']; chartObject := sheet.ChartObjects[1]; chartObject.Left := <Left of cell "F"> chartObject.Top := <Top of cell "34"> end; 如何做位置图对象到某个单元格? (考虑到单元可能具有不同的宽度和高度)

将VirtualStringTree导出为ex​​cel,csv?

是否可以将VirtualStringTree导出到Excel或CSV? 我正在使用Delphi 2007,并试图将我的VirtualStringTree数据logging保存为Excel或CSV格式。

如何获得Excel版本和macros安全级别

微软最近打破了我们长期以来(由他们正式推荐)的代码来阅读Excel的版本及其当前的omacro安全级别。 什么曾经工作: // Get the program associated with workbooks, eg "C:\Program Files\…\Excel.exe" SHELLAPI.FindExecutable( 'OurWorkbook.xls', …) // Get the version of the .exe (from it's Properties…) WINDOWS.GetFileVersionInfo() // Use the version number to access the registry to determine the security level // '…\software\microsoft\Office\' + VersionNumber + '.0\Excel\Security' (我总是感到有趣的是,在一个不安全的registry项中安全级别是多年的…) 在Office 2010中,.xls文件现在与“”Microsoft Application Virtualization DDE Launcher“或sftdde.exe关联。 这个exe的版本号显然不是Excel的版本。 我的问题: […]

确定Excel工作簿何时closures了Delphi

以下代码打开“app”参数指定的文档,然后等待,直到特定的文档被closures。 这适用于所有文档types,除非您打开Excel工作簿并打开另一个Excel工作簿。 代码认为该文档实际上仍处于打开状态时已closures。 我将如何解决这个问题? procedure RunAppAndWAit( a: TApplication; app, par, verb: string); var seinfo: tshellexecuteinfo; exitcode: dword; begin fillchar( seinfo, sizeof( seinfo), 0); seinfo.cbsize := sizeof( tshellexecuteinfo); with seinfo do begin fmask := see_mask_nocloseprocess; wnd := a.Handle; lpfile := pchar( app); lpDirectory := pchar( ExtractFileDir( app)); lpParameters := pchar( par); lpVerb := pchar( verb); nshow […]