请教高手!如何在vb中创建PowerPoint对象同时用于OFF97和OFF2000?

sunruyu 2000-09-09 10:18:00
请教高手!如何在vb中创建PowerPoint对象同时用于OFF97和OFF2000?
下列方法只能用于OFF97:CreateObject("PowerPoint.Application.8"),如何创建可同时用于OFF97和OFF2000的OBJECT?
...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yarao 2000-09-12
  • 打赏
  • 举报
回复
我想知道你说的无法启动是什么意思。是报错呢?还是看不见PowerPoint。我改了一下你程序
(只是把 obj.Visible = true 而已,你可以将第一个错误捕获注掉)试了一下。发现你的程序
没问题呀!(一定要把"PowerPoint.Application.8"改为"PowerPoint.Application.9" )
sunruyu 2000-09-11
  • 打赏
  • 举报
回复
yarao:你好,我的程序如下,在97上运行基本正常,多次(连续50以上)调用函数后会出现内存不够的现象,不知道什么原因,但在OFFICE2000中无法启动(PowerPoint.Application.9),能否看出什么BUGS?
Function Showsild(SildeName As String)
If CreatSilde > 1 Then
'当多次调用函数后会出现内存不够的现象,不知道什么原因,可删除进程。
Set ppobj = Nothing
Set ppPres = Nothing
Set ppobj = GetObject(, "PowerPoint.Application.8")
Set ppPres = ppobj.Presentations.Open(SildeName)
ppPres.SlideShowSettings.Run
Else
Set Obj = Nothing
Set Pres = Nothing
Dim xloop As Integer
On Error Resume Next
Set Obj = GetObject(, "PowerPoint.application.8")
If Err.Number Then
Set Obj = CreateObject("PowerPoint.Application.8")
Err.Clear
End If
On Error GoTo err_cmdOLEPowerPoint
Set Pres = Obj.Presentations.Add
Set Pres = Obj.Presentations.Open(SildeName)
Pres.SlideShowSettings.Run

'err_cmdOLEPowerPoint:
' MsgBox Err.Number & " " & Err.Description

End If
Exit Function
err_cmdOLEPowerPoint:
MsgBox Err.Number & " " & Err.Description
End Function
yarao 2000-09-11
  • 打赏
  • 举报
回复
哦!是我原来写错了不是Create("PowerPoint.Application.9")应该是
CreateObject("PowerPoint.Application.9") sorry :)
yarao 2000-09-11
  • 打赏
  • 举报
回复
我不知道你是不是用OLE Automation 我也没看过你的程序,不过你好像些错了。
应该是这样的
Dim oPowerPoint as Object '定义为一个公有变量
sub Startup()
set oPowerPoint = CreateObject("PowerPoint.Application.9")
' 如果是office97 就是"PowerPoint.Application.8"
oPowerPoint.Visible = True '使你启动的自动化服务器可视
'.................
'你就可一通过oPowerPoint来操作你启动的PowerPoint对象了
end sub
sunruyu 2000-09-09
  • 打赏
  • 举报
回复
yarao:
你好!可是我用Create("PowerPoint.Application.9")时,根本不能启动OFFICE200,这是为什么?我已在工程引用中钩选PowerPoint9,出错报PowerPoint9框架不存在。
sunruyu 2000-09-09
  • 打赏
  • 举报
回复
yarao:
你好!可是我用Create("PowerPoint.Application.9")时,根本不能启动OFFICE200,这是为什么?
yarao 2000-09-09
  • 打赏
  • 举报
回复
读注册表!HKEY_CURRENT_USER\Software\Microsoft\Office\8.0如果存在
则用Create("PowerPoint.Application.8")//用于Office 97
如果HKEY_CURRENT_USER\Software\Microsoft\Office\9.0如果存在则用
Create("PowerPoint.Application.9")//用于Office 2000

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧