急!!求助:如何在PB中从数据库中取出PPT、XLS文件,WORD的可以,PPT、XLS文件是怎么调用打开的?

l680103 2002-10-10 12:01:03
我现在把文档存到数据库中,现在从数据库中可以取出放到一个临时文件里
对WORD文档

li_ret = ole_object.ConnectToNewObject("word.application")
if li_ret <> 0 then
MessageBox('OLE错误','OLE无法连接!错误号:' + string(li_ret))
return 0
end if

ole_object.Visible = True

ole_object.document.open("c:\29012@1.txt")

这样可以打开临时文件里的WORD文档了
在EXCEL、POWERPOINT里也这样做,提示没有这样的属性,求教各位,EXCEL、POWERPOINT要直接打开应该如何做呢?




另外,我实验在窗口中加入OLE控件,在线打开,DISPLAYTYPE=ACTIVEDOCUMENT!
EXCEL可以在窗口内显示并可以切换SHEET,POWERPOINT就只能看到第一页,到底是为什么呢?
ole_1.insertfile("c:\29012@1.txt")
ole_1.activate(inplace!)



各位帮帮忙,谢了
...全文
33 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pufan 2002-10-10
连接excel:
OLEObject ExcelServer
integer ExcelOK
ExcelServer = CREATE OLEObject
ExcelOK = ExcelServer.ConnectToNewObject( "excel.application" )
ExcelServer.Workbooks.Open("c:\book.xls")
ExcelServer.ActiveWorkBook.Sheets("Sheet2").Select
ExcelServer.ActiveSheet.Cells(1,1).value = "书名"
ExcelServer.Application.Visible = TRUE
回复
pufan 2002-10-10
连接幻灯片:
constant integer ppLayoutBlank = 12
OLEObject ole_object
ole_object = CREATE OLEObject

//连接PowerPoint
IF ole_object.ConnectToNewObject("PowerPoint.Application") <> 0 THEN
MessageBox('OLE错误','OLE无法连接!')
return
END IF

ole_object.Visible = True

//创建一个空模板
ole_object.Presentations.Add()

//添加一张幻灯片,模式为空。
ole_object.ActivePresentation.Slides.Add(1,ppLayoutBlank)

long ll_colnum,ll_rownum

//得到数据窗口数据的列数与行数(行数应该是数据行数 + 1)
ll_colnum = Long(dw_1.object.datawindow.column.count)
ll_rownum = dw_1.rowcount() + 1

//在空演示中插入一张表格,ll_rownum行,ll_colnum列,距离左边10,距离顶端10,宽度700,高度300
ole_object.ActivePresentation.Slides(1).Shapes.AddTable(ll_rownum,ll_colnum,5,40,700,300)

long i,j
string ls_value

//读取数据窗口的表头各列
string ls_colname
for i = 1 to ll_colnum
//得到标题头的名字
ls_colname = dw_1.describe('#' + string(i) + ".name") + "_t"
ls_value = dw_1.describe(ls_colname + ".text")
ole_object.ActivePresentation.Slides(1).Shapes(1).Table.Cell(1,i).Shape.TextFrame.TextRange.Text = ls_value
next

//读取所有数据到PowerPoint的相应表格中
dw_1.setredraw(false)
for i = 2 to ll_rownum
for j = 1 to ll_colnum
dw_1.scrolltorow(i - 1)
dw_1.setcolumn(j)
ls_value = dw_1.gettext()
ole_object.ActivePresentation.Slides(1).Shapes(1).Table.Cell(i,j).Shape.TextFrame.TextRange.Text = ls_value
next
next
dw_1.setredraw(true)

//保存新建的PowerPoint演示为sample.ppt
ole_object.ActivePresentation.SaveAs("C:\My Documents\sample.ppt")

//断开OLE连接
Ole_Object.DisConnectObject()
Destroy Ole_Object
回复
pufan 2002-10-10
ConnectToNewObject("PowerPoint.Application")
ConnectToNewObject( "excel.application" )
回复
相关推荐
发帖
数据库相关
创建于2007-09-28

734

社区成员

PowerBuilder 数据库相关
申请成为版主
帖子事件
创建了帖子
2002-10-10 12:01
社区公告
暂无公告