用OleContainer打开Excel,Excel的文件菜单丢失问题. 急!!(100分)

  • 主题发起人 主题发起人 fw01
  • 开始时间 开始时间
F

fw01

Unregistered / Unconfirmed
GUEST, unregistred user!
我用OleContainer打开Excel, 发现Excel的'文件'菜单项丢失,只剰下'编辑' 以后的Excel菜单项,曾偿试在Excel中自定义一组与文件菜单内容相同的新菜单项,此时在Delphi的OleContainer 窗口中可见到此Excel自定义的菜单,但其中所有关于Excel文件菜单内容的项均处于不可选的状态.(我在OleContainer的form中只放了一个Delphi的菜单控件使之能够显示Excel的菜单,而并没有设置任何Delphi的菜单项).如何才能使Excel的文件菜单能正常出现在Delphi的OleContainer form中? 请各位高手指教. 以分酬劳.
 
密切关注你的问题,我以前也遇到过,后来没有成功。
 
我的测试代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtnrs, Menus, Excel2000, OleServer;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
OleContainer1: TOleContainer;
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Exapp, RangeE, Exappsheet: OleVariant;
BookName : String;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
if Olecontainer1.State <> osEmpty then Olecontainer1.DestroyObject;
Olecontainer1.CreateObjectFromFil('d:/application/FS_Water/aboutOLEMenu/ole.xls',false);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
Olecontainer1.AutoActivate :=aaGetFocus;
Olecontainer1.DoVerb(ovPrimary);
Exapp:=OleContainer1.OleObject;
exapp:=Exapp.Application;
BookName := Exapp.Activeworkbook.Name;
Exapp.Workbooks[BookName].Saved := True;
end;

 
后退
顶部