zoukankan      html  css  js  c++  java
  • 如何判断Office是32位还是64位?

    对于持续学习VBA的老铁们,有必要了解Office的位数。

    如果系统是32位的,则不需要判断Office位数了,因为只能安装32位Office。

    下面只讨论64位系统中,Office的位数判断问题。

    64位系统中可能存在以下4种情况:

    • 安装了32位Office
    • 安装了64位Office
    • 安装了32位和64位两个版本Office
    • 没安装任何Office

    究竟Office是多少位的?如果不打开Office以及VBA,通过注册表可能能够查询出来,不过比较费事儿,而且注册表也有被修改的可能,靠不住。

    下面介绍打开了Office的一个组件,或者打开了VBA编程环境后,查看位数的方法。

    方法一:手动查看法

    找到账户(Account)选项,然后点击关于Excel

    下面的对话框中,看一下最上面的那行字,写的是64bit。

     

    方法二:VBA法

    该方法还可以分为以下n多种方法

    方法2-1:根据ProductCode属性

    如果结果是四个0,后面又四个0,则是32位Office。 如果后面是1000,则是64位Office

    方法2-2:根据HInstance属性

    32位Office的情形,可以返回一个整数。

     64位Office的情形,返回的是致命的错误。

    方法2-3:声明LongLong类型变量

    在64位Office的VBA中可以声明LongLong类型的整型变量

    在32位Office的VBA里面,只有Long。

    方法2-4:根据API函数的颜色

    在模块顶部加入一个最简单的API函数声明,64位Office的情况下函数呈现为红色。

    32位Office的话,以上代码直接显示为黑色,而且不报错。

    方法2-5:条件编译法

    在VBA模块中运行如下过程,看看返回的是哪一个对话框。

    Sub 判断Office位数()
        #If Win64 Then
            MsgBox "64bit"
        #Else
            MsgBox "32bit"
        #End If
    End Sub

    以上各种方法都亲测好使,感谢老铁们继续支持。

  • 相关阅读:
    在日志中记录Java异常信息的正确姿势
    基于Spring Boot架构的前后端完全分离项目API路径问题
    Spring生态简介
    WebSocket协议入门介绍
    Spring Boot程序正确停止的姿势
    python 中 __init__方法
    python中的if __name__ == 'main'
    python 类和实例
    内建模块 datetime使用
    内建模块collections的使用
  • 原文地址:https://www.cnblogs.com/ryueifu-VBA/p/12316742.html
Copyright © 2011-2022 走看看