DELPHI中控制EXCEL的一个例子

  1. unit Unit1;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, ComObj;
  6. type
  7.   TForm1 = class(TForm)
  8.     Button1: TButton;
  9.     Button2: TButton;
  10.     Button3: TButton;
  11.     procedure Button1Click(Sender: TObject);
  12.     procedure Button2Click(Sender: TObject);
  13.     procedure Button3Click(Sender: TObject);
  14.   private
  15.     { Private declarations }
  16.     ExcelApp: Variant;
  17.   public
  18.     { Public declarations }
  19.   end;
  20. var
  21.   Form1: TForm1;
  22. implementation
  23. {$R *.DFM}
  24. procedure TForm1.Button1Click(Sender: TObject);
  25. var
  26.     Path: string;
  27. begin
  28.     Path := ExtractFilePath(Application.exeName);
  29.     if copy(Path, length(Path) ,1) <> '/' then
  30.         Path := Path + '/';
  31.     ExcelApp := CreateOleObject('Excel.Application');
  32.     ExcelApp.WorkBooks.Open(Path+'Book2.xlt');
  33.     Button1.Enabled := False;
  34.     Button2.Enabled := True;
  35.     Button3.Enabled := True;
  36. end;
  37. procedure TForm1.Button2Click(Sender: TObject);
  38. var
  39.     Path: string;
  40. begin
  41.     try
  42.       Path := ExtractFilePath(Application.exeName);
  43.       if copy(Path, length(Path) ,1) <> '/' then
  44.           Path := Path + '/';
  45.       ExcelApp.WOrkBooks[1].SaveAs(Path+'test.xls');
  46.     finally
  47.       Button1.Enabled := True;
  48.       Button2.Enabled := False;
  49.       Button3.Enabled := False;
  50.       ExcelApp.WOrkBooks.Close;
  51.       ExcelApp.Quit;
  52.     end;
  53. end;
  54. procedure TForm1.Button3Click(Sender: TObject);
  55. var
  56.   Book: Variant;
  57.   Sheet: Variant;
  58.   AfterSheet: Variant;
  59. begin
  60.   Book := ExcelApp.WorkBooks[1];
  61.   AfterSheet := Book.WorkSheets[3];
  62.   Sheet := Book.WorkSheets.Add(EmptyParam, AfterSheet, 1);
  63.   //Sheet.move(Book.WorkSheets[4],
  64.   //Sheet := Book.WorkSheets[1];
  65.   Sheet.Activate;
  66.   ExcelApp.Cells[3,1] := 'TEST';
  67. end;
  68. end.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,这是一个使用 Delphi 编写的基本程序的例子: ``` program HelloWorld; uses SysUtils; begin WriteLn('Hello, World!'); end. ``` 这是一个简单的控制台应用程序,它将在屏幕上显示 "Hello, World!"。 程序开头使用 `program` 关键字声明了程序的名称。接下来是 `uses` 关键字,后面跟着所需要使用的单元列表。在这个例子,只使用了 `SysUtils` 单元,它包含了一些有用的工具函数。 `begin` 和 `end` 关键字用于标记程序的主体部分,所有的程序代码都应该写在这之间。在这个例子,只有一行代码:`WriteLn('Hello, World!')`。`WriteLn` 函数会在屏幕上输出一行文本,并在末尾换行。 最后,使用 `end.` 来结束程序。 希望这对你有帮助! ### 回答2: 下面是一个使用Delphi编写的简单基础例子: 首先,创建一个新的Delphi工程。然后,在主窗体上放置一个按钮和一个标签控件。 通过双击按钮控件,在OnClick事件处理程序添加以下代码: ```pascal procedure TForm1.Button1Click(Sender: TObject); var name: string; begin name := 'Delphi'; ShowMessage('欢迎使用' + name + '!'); // 显示消息框 Label1.Caption := '你好,' + name + '!'; // 更新标签控件的显示文本 end; ``` 保存并编译运行程序,单击按钮时,将弹出一个显示欢迎消息的消息框,并在标签控件上显示“你好,Delphi!”的文本。 这个例子展示了Delphi的一些基础知识。使用变量name来存储字符串值,ShowMessage函数显示消息框,Label1.Caption属性用于设置标签控件的显示文本。 通过这个例子,你可以了解如何在Delphi处理按钮的点击事件,并对控件进行操作。你还可以尝试添加其他控件和事件处理程序,以进一步扩展这个例子。 ### 回答3: 好的,下面是一个基于Delphi的简单示例代码: ```delphi unit MainForm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFormMain = class(TForm) lblQuestion: TLabel; edtAnswer: TEdit; btnCheck: TButton; lblResult: TLabel; procedure btnCheckClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormMain: TFormMain; implementation {$R *.dfm} procedure TFormMain.btnCheckClick(Sender: TObject); var answer: Integer; begin // 读取用户输入的答案 answer := StrToIntDef(edtAnswer.Text, 0); // 判断答案是否正确 if answer = 42 then lblResult.Caption := '答案正确!' else lblResult.Caption := '答案错误,请重新尝试。'; // 清空输入框 edtAnswer.Text := ''; end; end. ``` 上面的代码是一个简单的Delphi应用程序,包括一个窗体(Form)和三个控件:一个标签(Label),一个编辑框(Edit)和一个按钮(Button)。 窗体的`lblQuestion`是一个标签,用于显示一个问题; `edtAnswer`是一个编辑框,用户可以在这里输入答案; `btnCheck`是一个按钮,用户点击它以检查答案; `lblResult`是一个标签,用于显示检查结果。 点击`btnCheck`按钮时,程序将获取用户输入的答案,并与预设的答案比较。 如果答案正确,程序将在`lblResult`标签显示"答案正确!"; 否则,程序将在`lblResult`标签显示"答案错误,请重新尝试。"。 之后,输入框将被清空,用户可以尝试输入新的答案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值