为了帮助网友解决“win7 + delphi 7 + Ex”相关的问题,中国学网通过互联网对“win7 + delphi 7 + Ex”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:win7 + delphi 7 + Excel2007 不支持CreateOLEObject('Excel.Application') 有没有什么办法解决?,具体解决方案如下:
解决方案1:
如果不支持,那就只能使用控件的办法,如果想使用excel2007,这个delphi7自带的控件是不支持的,解决办法有二:
1. 自己导入excel2007的动态库。
2. 使用第三方控件,比如NativeExcel。
顺便提一句: 貌似COM方式应该是兼容性最好的吧,怎么不支持呢?
解决方案2:
以前用Delphi6+Excel2003,导出语句CreateOleObject('Excel.Application');很正常,但改为Excel2007精简版之后就会出现“无效的类别字符串”错误。
后来查CreateOleObject函数的代码如下:
function CreateOleObject(const ClassName: string): IDispatch;
var
ClassID: TCLSID;
begin
ClassID := ProgIDToClassID(ClassName);
OleCheck(CoCreateInstance(ClassID, nil, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, IDispatch, Result));
end;
再查ProgIDToClassID函数的代码如下:
function ProgIDToClassID(const ProgID: string): TGUID;
begin
OleCheck(CLSIDFromProgID(PWideChar(WideString(ProgID)), Result));
end;
再进入Regedit注册表里,查ProgID中有“Excel”的字符串,终于发现了Office2007的是“Excel.Sheet.12”。于是变更程序代码如下,结果测试成功:
uses ComObj;
procedure TForm1.Button2Click(Sender: TObject);
var MyWorkbook:Variant;
begin
MyWorkbook := CreateOleObject('Excel.Sheet.12');//对于Excel2007,不能再用Excel.Application
MyWorkbook.Application.WorkBooks.Add;
MyWorkbook.Application.Visible := true;
end;
现在我终于可以从Delphi导出数据到Excel2007了。
另,如果安装的是Office2007完整版,就可直接使用CreateOleObject('Excel.Application');如果安装的是精简版,只能用CreateOleObject('Excel.Sheet.12');
解决方案3:
我也遇到了同样的问题,不过我发现在有些win7上可以运行,有些不行,估计win7上需要某些组件支持。这样可以应该可以通过安装这些组件来解决。
通过对数据库的索引,我们还为您准备了:
问:delphi7 , delphi2009 还是其它的......?
答:最好是Delphi2010。Delphi2010是最新版本,而且稳定性也还不错,支持全windows7的API,delphi7太老对win7的支持可能有问题,d2009有点象d2010的过渡产品,某些地方应该不如d2010
===========================================
delphi 哪个版本可以在64位win7上运行?能给个下载...
问:delphi7 , delphi2009 还是其它的......?
答:我用delphi7开发的exe可以在64、32上运行。服务好像有点问题。我认为主要是看你调用的api,api函数如果32、64系统中一样的话就没大问题啦。
===========================================
问:我用的是WIN7操作系统,为什么delphi7不能安装呢,总是出现“应用程序的O...
答:DELPHI在WIN 7的32位和64版本上都可以安装,正常使用。 安装前有警告。可能是一些高级应用时会有问题吧。 我用了有三个多月吧(64位版本用了近一个月),一切正常。 文件的帮忙默认情况下打不开。用系统提供的解决方案,打上补丁后就可以正常使...
===========================================
问:我用的是win7操作系统 Delphi 7的其他产品都能用了 就database desktop ...
答:选择兼容悬想 我也是WIN7 可以用的 ,右键有个兼容选项 按照提示一步一步来就可以了
===========================================
delphi有可以在win7下运行的版本么?还有,怎么用...
问:我用的是win7操作系统 Delphi 7的其他产品都能用了 就database desktop ...
答:delphi2007及以后的版本都可以,现在最新的版本是XE了。 实际上D7也可以在win7上使用,只是报不兼容而已。 delphi是很成熟的工具了,网上的例子很多。
===========================================
问:我用的是win7操作系统 Delphi 7的其他产品都能用了 就database desktop ...
答:Delphi 2010 试试吧
===========================================
问:以管理员身份也无法运行,提示不嫌容。请问怎么解决啊 谢谢了,
答:应该是你安装的问题吧,,,我也是装的WIN7系统,,运行delphi7 没什么问题啊! 就是有时候打开一些以前保存的源码,会提示 某个文件无法读取之类的。。但是你从开始菜单直接启动delphi,然后从 file--open--选择你以前保存的源码,,这样就没问...
===========================================
问:才换的WIN7用着还不错,装上DELPHI7.0之后,运行老弹出下面的内容,急!...
答:不会吧,我也是用Delphi 7.0,但没有什么问题呀。 建议你到多特网上下载个,安装看看... 或者你试试: 我的电脑---->属性---->系统保护--->高级---->设置(性能)-->数据执行保护--->把Delphi的安装执行程序(Borland\Delphi7\Bin\delphi32.exe)添加...
===========================================
问:下面是兼容性提示 如果不考虑,直接运行程序也是可以的。只是想解决问题...
答:最直接的方法就是Delphi升级到XE2.最重要的是你的电脑是64位,而Delphi7是32位,总是有许多问题在。
===========================================