对于持续学习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

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

如何判断Office是32位还是64位?的更多相关文章

  1. VC++ 判断当前系统为32位还是64位

    尝试了在VC++环境下判断系统为32位还是64位的方法,亲测有效!提供的函数如下 BOOL IsWow64() { typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) ...

  2. 32位和64位dll判断

    如何判断一个dll文件是32位还是64位? 1. 开发中经常会使用到VC的一个工具 Dependency Walker用depends.exe打开dll,文件名前有64标示的即为64位. 但是这个方式 ...

  3. 介绍 32 位和 64 位版本的 Microsoft Office 2010

    在使用 64 位版本的 Office 2010 运行现有解决方案时存在两个基本问题: Office 2010 中的本机 64 位进程无法加载 32 位二进制文件.在使用现有 Microsoft Act ...

  4. C#判断操作系统是32位还是64位(超简单)

    由于项目需要在64位和32位系统运行,需要判断当前系统是32位还是64位. 网上很多方法,但是都感觉不是很简洁,最后发现可以使用int的长度来判断:看代码 /// <summary>    ...

  5. JAVA判断32位还是64位,调用不同的DLL(转)

    源:JAVA判断32位还是64位,调用不同的DLL 通过获取sun.arch.data.model可判断是32还是64的JAVA 将32或者64位的DLL放不同的目录,实现自适应调用DLL Prope ...

  6. 判断 Windows操作系统是32位还是64位

    function IsWin64: Boolean; var Kernel32Handle: THandle; IsWow64Process: function(Handle: Windows.THa ...

  7. C#如何判断操作系统位数是32位还是64位

    方法一: 对于C#来说,调用WMI是一种简单易行的方式.我们可以用Win32_Processor类里面的AddressWidth属性来表示系统的位宽.AddressWidth的值受CPU和操作系统的双 ...

  8. [转]C#如何判断操作系统位数是32位还是64位

    方法一: 对于C#来说,调用WMI是一种简单易行的方式.我们可以用Win32_Processor类里面的AddressWidth属性来表示系统的位宽.AddressWidth的值受CPU和操作系统的双 ...

  9. 如何判断你的windows系统是32位还是64位?

    [学习笔记] 如 何判断你的windows系统是32位还是64位? java -version时,如果没有64就是32位的.eclipse.ini中如果没有64,就是32位的.但是我们的ini文件里面 ...

随机推荐

  1. 文件的概念、标准IO其一

    1.文件的概念 文件是一种存储在磁盘(掉电不丢失存储设备)上,掉电不丢失的一种存储数据的方式,文件在系统中有以下层次的结构来实现. 系统调用.文件IO.标准IO的关系如下: 2.linux系统的文件分 ...

  2. PHP表单处理、会话管理、文件上传、文件处理、执行函数(10.8 第十六天)

    表单处理 服务器接收用户发过来的数据方式: $_GET 接收用户以GET方式发过来的数据 $_POST 接收用户以POST方式发过来的数据 $_COOKIE 接收用户COOKIE $_REQUEST ...

  3. tc: 模拟网络异常的工具

    作者:smallnest Linux Traffic Control (tc)的扩展 Network Emulation (netem)可以很方便的模拟网络不好的情况,一般新的linux内核中(> ...

  4. 《新标准C++程序设计》1.7-1.10(C++学习笔记2)

    1.内联函数(inline关键字) eg.inline int Max(int a,int b) { if(a>b) return a; return b; } 当编译器处理调用内联函数的语句时 ...

  5. swift中block的使用

    在OC中习惯用block来传值,而swift中,block被重新定义了一下,叫闭包: 使用的技巧:谁定义谁传值:   案例使用A.B控制器: 1~4步在B中执行,最后在A中执行: - B控制器: 1- ...

  6. 装WIN7的一点心得

    一.为什么要装WIN7 长久以来个人的习惯,WIN10用不来,总体安装思路是:下官方版,找方法激活 二.安装镜像的来源 这个网上版本五花八门,各种系统网站,但都会有软件捆绑等行为,还有浏览器中强制捆了 ...

  7. PTA天梯赛L2

    L2-001 紧急救援 题意:就是给你一张n<500的图:让你求最短路径,最短路条数,以及路径: 做法,先用dijkstra求最短路,然后dfs找最短路条数,以及点权的最大值: 一般dfs不就可 ...

  8. [GXYCTF2019]BabySQli

    0x00 知识点 emmm这道题目就是脑洞得大,能猜后端源码 0x01 解题 查看源码: base32,base64解码得到 select * from user where username = ' ...

  9. POJ 1017:Packets

    Packets Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 47513   Accepted: 16099 Descrip ...

  10. unix中嘚vim编辑器

    在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致 ...