起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 157|回复: 8

【结贴】帮看看这段代码**

[复制链接]
发表于 2008-12-19 09:27:24 | 显示全部楼层 |阅读模式
这段是excel录制的宏,请问如何把下面的代码改写成X3能用的代码呢?这段代码是用于冻结窗格用的
Range("A3:F3").Select
ActiveWindow.FreezePanes = True
回复

使用道具 举报

发表于 2008-12-19 09:38:43 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 09:59:14 | 显示全部楼层
选定某个区域的代码我写成
tUsed := DispatchHelper.Create(FApp.PropertyGet('Range', ['A2','F2']));   
但后面那句设定窗口冻结的代码就编制不通过了
tUsed.InvokeMethod('FreezePanes',[true]);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 10:30:26 | 显示全部楼层
有人帮看看吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 11:32:59 | 显示全部楼层
lixy再帮看看呀,急着解决
回复 支持 反对

使用道具 举报

发表于 2008-12-19 11:33:37 | 显示全部楼层
procedure TMainForm.Button1Click(Sender: TObject);
var
  lFileName: String;
begin
  if OpenDialog1.Execute then
  begin
    lFileName := OpenDialog1.FileName;
    fxls := ComObj.CreateOleObject('Excel.Application');
    FApp := DispatchHelper.Create(fxls);
    FApp.PropertyPut('Visible', [True]);

    docs := FApp.PropertyGet('Workbooks',  []);
    FDocs := DispatchHelper.Create(docs);

    FDocs.InvokeMethod('Open', [lFileName]);
    end;
end;

procedure TMainForm.Button2Click(Sender: TObject);
begin
//fapp.InvokeMethod('save', []);
  fapp.InvokeMethod('quit', []);
  (docs as System.IDisposable).Dispose;

  (fxls as System.IDisposable).Dispose;

end;

procedure TMainForm.Button3Click(Sender: TObject);
var
Range,aw: DispatchHelper;
begin
//Range("A3:F3").Select
//ActiveWindow.FreezePanes = True
  Range := DispatchHelper.Create(FApp.PropertyGet('Range', ['A3:F3']));//属性和对象
  Range.InvokeMethod('Select',[]);   //事件
  aw:=DispatchHelper.Create(FApp.PropertyGet('ActiveWindow', []));//属性和对象
  aw.PropertyPut('FreezePanes',[true]);
end;
回复 支持 反对

使用道具 举报

发表于 2008-12-19 11:34:13 | 显示全部楼层
我需要时间试验,你别催了好不好,谢谢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 11:36:58 | 显示全部楼层
恩,代码写得很清楚.感谢lixy
回复 支持 反对

使用道具 举报

发表于 2008-12-19 11:40:33 | 显示全部楼层
下次你自己要翻译vba,我就不再写这种例子了,都是vba的东西。
平台怎么翻译,帖子也很多了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 15:10 , Processed in 0.044942 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表