社区
C++ Builder
帖子详情
Server叶下的东东怎么用?
comanche
2001-02-27 06:33:00
Server叶下的东东怎么都没有个帮助?
那就只好请各位兄台给个例子了..
要求简单只要一个操作 Excel的例子, 怎么加入一行数据,改变一个Cell的样式,有更详细的最好,先谢了各位
...全文
81
3
打赏
收藏
Server叶下的东东怎么用?
Server叶下的东东怎么都没有个帮助? 那就只好请各位兄台给个例子了.. 要求简单只要一个操作 Excel的例子, 怎么加入一行数据,改变一个Cell的样式,有更详细的最好,先谢了各位
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
comanche
2001-02-27
打赏
举报
回复
够了够了,不过这不是用 Server叶下的东东。
我还想问一个,关于操作Ms office的函数在哪可以得到。那个olb文件实在太大了。。。
最好有什么书或是哪个网址什么的...
BCB
2001-02-27
打赏
举报
回复
这个例子行不行?够完整了
BCB
2001-02-27
打赏
举报
回复
Variant Variant::OlePropertyGet(属性名,参数….); // 取对象属性
Void Variant::OlePropertySet(属性名,参数….); // 设置对象属性
Variant Variant::OleFunction(函数名,参数….); // 运行对象的函数
void Variant::OleProcedure(过程名,参数….); // 运行对象的过程
其头文件<utilcls.h>必须嵌在用户程序中,对于这四个长长的方法名可
在程序中用宏语句重新定义一下:
#define PG OlePropertyGet
#define PS OlePropertySet
#define FN OleFunction
#define PR OleProcedure
例如对于VB的提交语句: Ex.ActiveWorkBook.ActiveSheet.Cells(1,2).Value=3
为便于理解在C++Builder对应的语句可分解为如下四句:
Variant t1=Ex.OlePropertyGet("ActiveWorkBook");
Variant t2=t1.OlePropertyGet("ActiveSheet");
Variant t3=t2.OlePropertyGet("Cells,1,2);
t3.OlePropertySet("Value",3);
可去掉中间变量将这四句合为一句,就是:
Ex.PG("ActiveWorkBook").PG("ActiveSheet").PG("Cells",1,2).PS("Value",3);
我们将下面的VB程序片段改成对应的C++Builder程序以供参考:
Private Sub Command1_Click() ' Visual Basic程序片段
Dim Ex As Object,Wb As Object, Sh1 As Object
Set Ex = CreateObject("Excel.Application")
Set Wb= Ex.WorkBooks.Open("c:\book1.xls")
Set Sh1 = Wb.WorkSheets("Sheet1")
Text1.Text = Sh1.Cells(1, 1).Value
For i = 1 To 10: For j = 1 To 10
Sh1.Cells(i, j).Value = i * 100 + j
Next j: Next i
Wb.save: Wb.Close: Ex.Quit
End Sub ' - - - - - -- - - - - - - - - - - - - - - - - - - -
#include "Unit1.h" // C++Builder程序片段
#include <utilcls.h> // util classes实用类说明
// …省写此处原一段代码
#define PG OlePropertyGet
#define PS OlePropertySet
#define FN OleFunction
#define PR OleProcedure
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant Ex,Wb,Sh1;
try
{
Ex=Variant::CreateObject("Excel.Application");
}
catch(...)
{
}
if (VarIsEmpty(Ex))
{
ShowMessage("系统没有 Ms Excel !");
return;
}
Ex.PS("Visible",false); // Excel 是否可见
Ex.PS("DisplayAlerts",false); // 是否要出现警告
Wb=Ex.PG("WorkBooks").FN("Open","c:\\book1.xls");
Sh1=Wb.PG("WorkSheets","Sheet1"); // 工作表对象
Edit1->Text=Sh1.PG("Cells",1,1).PG("Value");
for (int i=1;i<=10;i++)
for (int j=1;j<=10;j++)
Sh1.PG("Cells",i,j).PS("Value",i*100+j);
Wb.PR("Save"); Wb.PR("Close");// 关闭工作薄
Ex.PR("Quit"); // 退出Ms Excel
}
使用这种方法的程序运行时,必须保证系统中同时有MS OFFICE
安装和配置 Windows
Server
2022 远程桌面服务
安装和配置 Windows
Server
2022远程桌面服务,那么通过这一个课程的介绍,学员就能够掌握在 Windows
Server
2022 系统当中,远程桌面服务基本的应用场景、基本组件和架构,以及工作原理,然后我们就可以在 Windows ...
Sql
Server
查询性能优化之索引篇【推荐】
Sql
Server
查询性能优化之索引篇 索引基础知识 聚集索引和非聚集索引 索引碎片 索引设计指南
Sql
Server
查询性能优化之不可小觑的书签查找
1.没毕业或工作没多久,只知道有数据库、SQL这么个
东东
,浑然分不清SQL和Sql
Server
Oracle、MySql的关系,通常认为SQL就是SQL
Server
2.工作好几年了,也写过不少SQL,却浑然不知道索引为何物,只知道数据库有索引...
Sql
Server
查询性能优化之不可小觑的书签查找介绍
没毕业或工作没多久,只知道有数据库、SQL这么个
东东
,浑然分不清SQL和Sql
Server
Oracle、MySql的关系,通常认为SQL就是SQL
Server
2.工作好几年了,也写过不少SQL,却浑然不知道索引为何物,只知道数据库有索引...
[转]Sql
Server
查询性能优化之不可小觑的书签查找
1.没毕业或工作没多久,只知道有数据库、SQL这么个
东东
,浑然分不清SQL和Sql
Server
Oracle、MySql的关系,通常认为SQL就是SQL
Server
2.工作好几年了,也写过不少SQL,却浑然不知道索引为何物,只知道数据库有...
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章