请大家指教

解决方案 »

  1.   

    HKEY_LOCAL_MACHINE\Software\Microsoft\office\X.0(office版本号)
      

  2.   

    用vb打开这个键
    如果是11,是office2003
    如果是9,是office2000
    别的可以自己试试
      

  3.   

    今天晚上写了个获取当前Office版本的函数呵呵,感觉不错,如果想看源代码,到这里看吧这个函数可以支持到Office 2003了,没有仔细测试,大家帮忙了,这个是五一前写的最后一个函数了,明天上班准备开始休息源代码:
    http://blog.csdn.net/tanaya/archive/2005/04/29/368504.aspxPrivate Sub Command1_Click()
         ....
      

  4.   

    哎,还是帖过来吧:获取当前Office版本的函数Private Sub Command1_Click()
        MsgBox GetInstalledOfficeVersion()
    End SubFunction GetInstalledOfficeVersion() As String
        On Error GoTo Z
        Dim WD
        Dim OfficeVer As String
        OfficeVer = 0
        Set WD = CreateObject("Word.Application.8")
        OfficeVer = CStr(WD.Version)
        WD.quit
        Set WD = Nothing
        If InStr(OfficeVer, "8") <> 0 Then
           GetInstalledOfficeVersion = "Office 97"
        ElseIf InStr(OfficeVer, "9") <> 0 Then
           GetInstalledOfficeVersion = "Office 2000"
        ElseIf InStr(OfficeVer, "10") <> 0 Then
           GetInstalledOfficeVersion = "Office XP"
        ElseIf InStr(OfficeVer, "11") <> 0 Then
           GetInstalledOfficeVersion = "Office 2003"
        End If
        Exit Function
    Z:
        If Not WD Is Nothing Then Set WD = Nothing
        GetInstalledOfficeVersion = "Office版本未知"
    End Function
      

  5.   


     呵呵,上面的函数安装了Office2000,OfficeXP的机器上测试通过
      

  6.   

    建议还是先读一下注册表,万一用户要是没装Office呢?  :D
      

  7.   

    改了,把 Office XP 改成了 Office XP 2002Private Sub Command1_Click()
        MsgBox GetInstalledOfficeVersion()
    End SubFunction GetInstalledOfficeVersion() As String
        On Error GoTo Z
        Dim WD
        Dim OfficeVer As String
        OfficeVer = 0
        Set WD = CreateObject("Word.Application.8")
        OfficeVer = CStr(WD.Version)
        WD.quit
        Set WD = Nothing
        If InStr(OfficeVer, "8") <> 0 Then
           GetInstalledOfficeVersion = "Office 97"
        ElseIf InStr(OfficeVer, "9") <> 0 Then
           GetInstalledOfficeVersion = "Office 2000"
        ElseIf InStr(OfficeVer, "10") <> 0 Then
           GetInstalledOfficeVersion = "Office XP 2002"
        ElseIf InStr(OfficeVer, "11") <> 0 Then
           GetInstalledOfficeVersion = "Office 2003"
        End If
        Exit Function
    Z:
        If Not WD Is Nothing Then Set WD = Nothing
        GetInstalledOfficeVersion = "Office版本未知"
    End Function
      

  8.   

    To  goodname008(卢培培): 现在改了,不需要事先安装有Office了Private Sub Command1_Click()
        MsgBox GetInstalledOfficeVersion()
    End Sub'本函数运行不需要机器上安装过Office
    '经典的判断Office版本函数,原创!
    '支持到Office 2003
    Function GetInstalledOfficeVersion() As String
        On Error Resume Next
        Dim WD
        Dim OfficeVer As String
        OfficeVer = 0
        GetInstalledOfficeVersion = ""
        Set WD = CreateObject("Word.Application.8")
        OfficeVer = CStr(WD.Version)
        WD.quit
        If Not WD Is Nothing Then Set WD = Nothing
        If InStr(OfficeVer, "8") <> 0 Then
           GetInstalledOfficeVersion = "Office 97"
        ElseIf InStr(OfficeVer, "9") <> 0 Then
           GetInstalledOfficeVersion = "Office 2000"
        ElseIf InStr(OfficeVer, "10") <> 0 Then
           GetInstalledOfficeVersion = "Office XP 2002"
        ElseIf InStr(OfficeVer, "11") <> 0 Then
           GetInstalledOfficeVersion = "Office 2003"
        End If
        If Err.Number = 424 Then
           Err.Clear
           GetInstalledOfficeVersion = "没有安装 Microsoft Office"
        End If
    End Function