• 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

PB下财务函数IRR(内部投资收益率)如何实现?500分恭候您

pb65 2004-12-23 03:43:33
在excel中有个函数IRR,即(内部投资收益率),在PB中没这个函数,请帮忙,解决后500分开帖子恭候!!
...全文
193 点赞 收藏 15
写回复
15 条回复
pb65 2004年12月24日
我的PB是6。5,excel 是2000
回复 点赞
balloonman2002 2004年12月24日
你的EXCEL和PB是多少版本?

具体问题你可以通过QQ:27855043 MSN:Weiyin2001@Msn.Com 和我联系。
回复 点赞
pb65 2004年12月24日
还是有问题,在调用ld_ret = ExcelServer.WorksheetFunction.Irr(ll_arr,-0.1)出现调用非法的外部函数。
回复 点赞
luotitan 2004年12月23日
加入FAQ吧
回复 点赞
balloonman2002 2004年12月23日
ll_arr[1] = -70000
ll_arr[2]=12000
ll_arr[3]=15000
-0.1

这些都是EXCEL自带帮助中Irr函数所自带例子数据,你可以和帮助对照即知
回复 点赞
pb65 2004年12月23日
谢谢,今天晚上验证,明天结帐,准备好接受500分
回复 点赞
balloonman2002 2004年12月23日
其中的ll_arr数组用于存放Irr函数的参数,可自行修改设定
回复 点赞
balloonman2002 2004年12月23日
楼主准备放500分给我吧,:),将我下面的代码复制到一个按钮的CLICK事件中,点击即可弹出测试结果-0.44,即-44%,原理即调用EXCEL的IRR函数即可:

//*****************************************************

OLEObject ExcelServer
integer li_ok
dec{2} ld_ret
long ll_arr[]

ExcelServer = CREATE OLEObject
li_ok = ExcelServer.ConnectToObject("excel.application")

if li_ok < 0 then
li_ok = ExcelServer.ConnectToNewObject("excel.application")
if li_ok < 0 then
messagebox("提示","您的電腦可能沒裝EXCEL,所以不能導出!")
return
end if
end if

ll_arr[1] = -70000
ll_arr[2]=12000
ll_arr[3]=15000


ExcelServer.Visible = false
ld_ret = ExcelServer.WorksheetFunction.Irr(ll_arr,-0.1)
ExcelServer.quit()
ExcelServer.DisConnectObject()
destroy ExcelServer

messagebox("内部投资收益率为:",string(ld_ret))
回复 点赞
WorldMobile 2004年12月23日
PB里没这函数,你可以自己写嘛?
回复 点赞
zhangning163 2004年12月23日
做一组模拟数据推算啊!应该可以测出算法的!
回复 点赞
hygougou 2004年12月23日
有点难度~~
键是不知道算法就难办了
回复 点赞
pb65 2004年12月23日
关键是我不知道那个函数的算法
回复 点赞
zhangning163 2004年12月23日
可以自己写函数!我看了好象不是很难的!
回复 点赞
liuyxit 2004年12月23日
没用过IRR,不过如果你知道它是怎处理数据的话
自已写一个函数不就行了
回复 点赞
pb65 2004年12月23日
自己顶!
回复 点赞
发动态
发帖子
PowerBuilder
创建于2007-09-28

599

社区成员

6.6w+

社区内容

PowerBuilder 相关问题讨论
社区公告
暂无公告