代码之家  ›  专栏  ›  技术社区  ›  Traci

Delphi 7和Excel 2007打开文件错误

  •  2
  • Traci  · 技术社区  · 14 年前

    我很难在Delphi7中打开Excel2007它适用于Office2003及以下版本,但微软的优秀员工已经发送了一个更新或其他东西,Delphi应用程序在本月早些时候崩溃了。

      oE := GetActiveOleObject('Excel.Application');
      oE.Workbooks.Open(Filename:=sFilename, UpdateLinks:=false, ReadOnly:=true); //Error
    

    “c:\Temp\Book1.xls”不能为空 找到了。检查文件的拼写 名称,并验证文件 位置正确。#$A#$A' 正在尝试打开列表中的文件 对于最近使用的文件,请确保 文件尚未重命名, '移动或删除'

    但是,如果我在VBA中运行相同的命令,就没有问题了。

    2 回复  |  直到 14 年前
        1
  •  2
  •   The_Fox    14 年前

    我知道这听起来很愚蠢,但你手动确认文件存在于该位置吗?

    sFileName的内容到底是什么,是完整路径还是只有文件名?当它只是文件名时,可能Excel找不到它,因为它当前的工作目录是其他目录。如果只传递文件名,请尝试使用完整路径。

        2
  •  1
  •   none    14 年前

    uses ComObj; ..
    
    procdure startExcel; 
    var   
      oE:Variant; 
    begin
      try 
        oE := GetActiveOleObject('Excel.Application');
      except
        oE := CreateOleObject('Excel.Application'); 
      end; 
      oE.Workbooks.Open(filename, false, false);
      oE.Visible := True; 
    end;
    

    source