读注册表!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

解决方案 »

  1.   

    yarao:
         你好!可是我用Create("PowerPoint.Application.9")时,根本不能启动OFFICE200,这是为什么?
      

  2.   

    yarao:
        你好!可是我用Create("PowerPoint.Application.9")时,根本不能启动OFFICE200,这是为什么?我已在工程引用中钩选PowerPoint9,出错报PowerPoint9框架不存在。
      

  3.   

    我不知道你是不是用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
      

  4.   

    哦!是我原来写错了不是Create("PowerPoint.Application.9")应该是
    CreateObject("PowerPoint.Application.9") sorry :)
      

  5.   

    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.DescriptionEnd If
    Exit Function
    err_cmdOLEPowerPoint:
            MsgBox Err.Number & " " & Err.Description
    End Function
      

  6.   

    我想知道你说的无法启动是什么意思。是报错呢?还是看不见PowerPoint。我改了一下你程序
    (只是把 obj.Visible = true 而已,你可以将第一个错误捕获注掉)试了一下。发现你的程序
    没问题呀!(一定要把"PowerPoint.Application.8"改为"PowerPoint.Application.9" )