文章目录

  • 1. 问题描述
  • 2. 解决过程
    • 1. 恢复 Office 默认设置 -- 无效
    • 2. 重装 Office -- 无效
    • 3. 修改 VBE 对应的注册表项 -- 成功

1. 问题描述

翻找excel的VBA编程环境VBE的设置,发现在“编辑器字体”tab页,可以设置编辑器字体。于是自己设置了一个字体,但是没看字体后的字符集,选到非中文的字符集了。导致文件中的中文注释全部变成乱码。
之后想改回来,发现设置切换到“编辑器格式”tab页面就会自动闪退。

2. 解决过程

1. 恢复 Office 默认设置 – 无效

首先尝试恢复 Office 默认设置。
使用 Office Tool Plus 进行操作。发文时版本为9.0.3.7
工具箱 --> 重置 Office 设置为默认设置

恢复之后,打开VBE,切换到字体设置的tab页,依旧闪退

2. 重装 Office – 无效

依然使用 Office Tool Plus 进行操作

  1. 卸载 Office
    工具箱 --> 移除 Office

  2. 安装 Office
    部署 --> 选择要安装的 Office 版本、语言、相关设置 --> 开始部署

    需要操作的相关设置:

    1. 产品

      1. Microsoft 365 家庭和个人版 – 年费计划的 Office,旧名 Office 365,可享受 Office 最新的版本更新。个人版200左右,家庭版300-400一年可供6个人使用。
      2. Office 家庭和学生版 2019 / 2016 – 一般买电脑预装的 Office 属于这个版本。零售价200-300,一次付费终身享受,但是只有重大功能更新和安全更新
      3. 批量许可证 – 可使用 KMS 进行激活的 Office 版本
    2. 应用程序:打钩的是安装的,个人建议没用的可以不装

      1. 必装三剑客 (咱用 office 99% 都是跟这仨打交道):WordExcelPowerpoint
      2. 专业工具
        1. Access – 一款图形化的小型数据库 (可以快速建立小卖部零售系统等小型数据库,SQL 语法比较诡异,免费打不过 MySQL/Postgres,付费打不过 SQL Server/Oracle,优势是买高级版本的 Office 直接包含)
        2. Publisher – 排版软件。类似 Indesign,但是功能渣渣。
        3. Onenote – 笔记软件,功能强,配合 Onedrive 可实现全平台笔记,还能插 Office 里的对象。但这里安装的是 Office 版的,卸载不方便、版本也不够新,有需求建议上微软商店下 UWP 版的 Onenote
      3. 其他各种附件
        1. groove – 企业协同软件
        2. Lync – 聊天软件
        3. Teams – 新推出的企业协同软件
    3. 部署设置

      1. 体系架构 – 选择要安装的 Office 版本为多少 – 32位64位
        注意:Office 46 位的版本不兼容 32 位版本的插件,装 64 位软件,要保证自己用的插件都能兼容 64 位才行;32 位软件日常使用没有问题,但在处理大表 (40M+) 的时候,可能会因为分配的内存不足导致及其卡顿
      2. 部署模式
        1. 安装 – 下载后直接在本机安装
        2. 下载 – 只下载不安装,下次安装还要开这个软件来安装
        3. 创建 ISO 镜像 – 将下载的软件和 Office Tool Plus 一起打包进一个镜像文件,用这个镜像文件就能在别的电脑安装对应版本的 Office
      3. 建议勾选下载后再部署。避免网络问题造成的安装失败。
      4. 可勾选创建桌面快捷方式
    4. 下载设置
      1. 建议勾选下载后校验 Office 安装文件。避免因下载错误导致的安装失败
    5. 其他有用的页面
      激活页面

      • 输入秘钥激活:秘钥管理
      • 批量许可证 KMS 激活:KMS管理,输入KMS服务器地址
  3. 安装结果:无效,打开VBA编辑器界面,中文依旧乱码,设置字体界面依旧闪退

  4. 分析:VBA 的设置与 Office 设置是相互独立的,应该找到 VBA 的设置

3. 修改 VBE 对应的注册表项 – 成功

注册表类似户口本,详细记载电脑(城市)中各个软件(人)的配置信息(户籍信息)。因此注册表十分敏感,在搞不懂相关配置的情况下,操作注册表千万要慎重:

  • 如果不小心修改了注册表的设置,可能导致软件甚至系统无法运行 (如随意修改户籍信息,导致自己的名字和户籍信息上的对不上,出去办事都办不了)
  • 如果不小心删除了注册表项,可能导致软件无法运行 (直接把某人的户籍销掉了,某人直接变成黑户)。当然,有一些软件卸载时没有清理对应的注册表项(有可能是卸载软件出错了或者卸载软件设计的问题),下次再安装就可能装不上了(点名一大堆工业软件都是出了名的难卸载)

查找资料,找到了 VBA 注册表中关于编辑器字体设置的注册表项
原文地址:https://social.msdn.microsoft.com/Forums/en-US/77eaa349-8d68-4ae7-a08f-733db33a759b/vbe-font-settings?forum=isvvba

实际根据版本不同,注册表项地址中的6.0可能是7.07.1,但只有其中一个地址中有FontFace这个选项

双击FontFace,修改为一个已经安装在电脑里的、能正常显示中文的字体。也可以恢复为默认字体Courier New
最后重开 Excel 的 VBA 编辑界面 – VBE。我的代码回来了!字体设置也能打开不闪退了。

PS:此注册表地址中,还有两项值得注意

字符集FontCharSet实际上就是设置界面中的西欧、土耳其等区域字符集设置。
设定值参考资料:http://www.cppfans.com/cbknowledge/reference/vcl.graphics/tfontcharset.asp

excel的VBA编程环境VBE更换错误字体后设置闪退相关推荐

  1. Excel 2003 VBA编程参考

    Excel 2003 VBA编程参考 关于作者 Paul Kimmel Paul Kimmel于1990年创立了Software Conceptions公司,并从那时开始设计和创建软件以及编写计算机图 ...

  2. Excel与VBA编程中的常用代码

    Excel与VBA编程中的常用代码 用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的! 使用Dim语句 Dim a as integer '声明A为整形变量 Dim a '声 ...

  3. Excel之VBA编程常用语句300句

    定制模块行为 (1) Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Op ...

  4. EXCEL 2007/2010/2016 绿色版使用“汉字重选”功能时闪退

    EXCEL 2007/2010/2016 绿色版在 Win10 2004/20H2 环境下使用"汉字重选"时闪退. 测试版本: • Microsoft Office 2007 SP ...

  5. 【知识小集】☞Excel之VBA编程语句集300句

    Excel VBA常用300句 定制模块行为 (1) Option Explicit '强制对模块内所有变量进行声明     Option Private Module '标记模块为私有,仅对同一工程 ...

  6. 在EXCEL中VBA编程检验身份证号码有效性

    *2022-12-05 改正代码中错别字,规范表述 *2022-11-30 1.增加了过程clearB()用来清除B1:Bx原有的出错说明,在过程examIdentityCard() 开头调用 2.修 ...

  7. 邮件excel html,小数点分隔符在电子邮件(HTML/CSS)在Excel的VBA编程

    A B C 1 25,000,000.50 2 3 而下面的VBA代码与内容发送电子邮件单元格A1: Sub Separators_in_Email() If ExitAll = False Then ...

  8. EXCEL的VBA编程基础1

    声明:本文原创,禁止转载:所有代码都通过测试 像任何一门语言一样,先来段最简单的代码 cells(a,b) 表示第a行,第b列的单元格内容,a,b是整数,b可以为字节串,如"a", ...

  9. Excel中VBA编程学习笔记(一)

    1.注释及编码规则 注释: 单引号:可以位于句子结尾或者单独一行: Rem:单独一行 编码规则: 如果VB中的关键字是由多个英文字母组成,则系统自动将每个单词的首字母转换成大写字母,其余字母一律转换成 ...

  10. Excel中VBA编程学习笔记(十一)--正则表达式

    在VBA中使用正则表达式受限需要引用Microsoft VBScript Regular Expressions 5.5类库.在VBA界面,"工具"-->"引用&q ...

最新文章

  1. B站资源推荐:复旦大学机器学习、深度学习公开课,附PDF课件下载
  2. 2019年物联网发展的六大趋势
  3. boost::test模块装饰器数据测试用例测试
  4. Java领域的对象如何传输-如何解决报错的问题呢?
  5. php查询socket数据包头,php 查询数组值php中关于socket的系列函数总结
  6. google code for xbmc addons2
  7. 战神II导演 首席程序员访谈(转自www.npc6.com )
  8. C++:类对象的复制和赋值
  9. [美团 CodeM 初赛 Round A]最长树链
  10. 原生js添加鼠标事件的兼容性写法
  11. linux 部署 ibase4j,ibase4j学习
  12. html5 如何播放h264流,html5播放rtsp视频流的方法
  13. Valgrind User Manual
  14. 风控建模二、特征工程---通用
  15. 后盾网-CI框架实例教程-马振宇 - 学习笔记(9)
  16. 伤疤好了有黑印怎么办_疤痕留下黑印怎么办
  17. m基于PSO粒子群优化的柔性制造系统AGV调度模型matlab仿真
  18. Python爬虫实战 爬取同城艺龙酒店信息
  19. 关于tools:ignore=“Suspicious0dp“的问题父类定向为竖向时,别横向等分父类的高
  20. NOMAO软件测试工资,基于混合遗传算法的测试数据自动生成研究

热门文章

  1. 太阳直射点纬度计算公式_地理小常识:买房小技巧,房屋朝向、楼层和太阳高度角的关系...
  2. 思源黑体(魅族)、方正兰亭(小米)、冬青黑体(锤子)比较
  3. 利用MATLAB进行二次曲线方程的正交变换化简
  4. I2C 总线协议初探 - STM32 I2C 接口外设学习笔记
  5. 在pycharm中使用matplotlib时需要点❌才能显示下一张图片的问题
  6. Ubuntu 18.04.04 安装显卡驱动 nvidia安装
  7. 第一个python程序:爬虫下载课件
  8. 安卓网页离线保存_如何在安卓系统上保存能离线观看的网页?
  9. Java实现经典坦克大战及源代码下载
  10. CASS10.1软件在windows10中细等线等字体显示不出来的解决方案