以编程方式将最小值/最大值添加到Excel右下角的状态栏
我想通过 VBA 操作 Excel 中的状态栏。我想添加最小/最大和可能更多的操作,但现在,这就是目标。我尝试使用宏记录器,但它没有拾取任何东西。要手动执行此操作,您只需右键单击状态栏,然后选择“最大/最小”并显示。是否有隐藏的方法可以通过 VBA 进行调整?
注意:我使用的是 Office 2013 x32,但我有很多最终用户可能使用较新的版本,例如 Office 365 和/或 x64 版本的 Excel,但没有旧版本
回答
这些值在 Windows 注册表中设置
HKCUSOFTWAREMicrosoftOffice16.0ExcelStatusBar
HKCUSOFTWAREMicrosoftOffice16.0ExcelStatusBar
确保16.0替换为您的用户正在使用的内部 Office 版本号。
注册表项是
MaxValueMinValue
并且它们属于类型REG_DWORD并且1在0禁用的地方启用。
请注意,设置注册表项后,无论您选择以下哪种解决方案,都需要重新启动 Excel。
解决方案 1:组策略
通过服务器上的 GPO(组策略)设置它们,每个人都会在下次启动 Excel 时自动启用它。
解决方案 2:VBA
或者,使用 VBA 保存注册表项,并确定用于Application.Version返回16.0Office 2019 Professional的注册表路径所需的版本号。
可以在此处找到一种注册表操作方法:在 VBA 中从/向注册表读取和写入(如果您使用谷歌搜索,您也会找到其他方法)。
解决方案 3:批处理文件
您还可以使用批处理文件创建密钥:
使用reg /?更多的信息。
解决方案 4:Powershell
最后 Powershell 也是可能的
reg add "HKCUSOFTWAREMicrosoftOffice16.0ExcelStatusBar" /v MaxValue /t REG_DWORD /d 1
reg add "HKCUSOFTWAREMicrosoftOffice16.0ExcelStatusBar" /v MinValue /t REG_DWORD /d 1
请参阅使用注册表项。
Excel 版本可以在 Powershell 中读取
set-itemproperty -path HKCU:SOFTWAREMicrosoftOffice16.0ExcelStatusBar -name MaxValue -Value 1
set-itemproperty -path HKCU:SOFTWAREMicrosoftOffice16.0ExcelStatusBar -name MinValue Value -Value 1
通过打开 Excel ComObject 并询问版本。