首页 > 解决方案 > 以编程方式将最小值/最大值添加到 Excel 右下角的状态栏

问题描述

我想通过 VBA 操作 Excel 中的状态栏。我想添加最小值/最大值,也许还有更多的操作,但现在,这就是目标。我尝试使用宏记录器,但它没有拾取任何东西。要手动执行此操作,您只需右键单击状态栏,然后选择“Max/Min”并显示。有没有隐藏的方法可以通过 VBA 进行调整?

注意:使用的是 Office 2013 x32,但我有许多最终用户可能正在使用更新版本,例如 Office 365 和/或 x64 版本的 Excel,但没有更旧的版本

在此处输入图像描述

标签: excelvbapowershellbatch-fileregistry

解决方案


这些值在 Windows 注册表中设置

HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\StatusBar\

确保16.0替换为您的用户正在使用的内部 Office 版本号。

注册表项是

  • MaxValue
  • MinValue

并且它们是类型REG_DWORD并且在被禁用1的地方0被启用。

请注意,设置注册表项后,无论您选择以下哪种解决方案,都需要重新启动 Excel。

解决方案 1:组策略

通过服务器上的 GPO(组策略)设置它们,每个人都会在下次启动 Excel 时自动启用它。

解决方案 2:VBA

或者,使用 VBA 保存注册表项,并确定您需要用于Application.Version返回16.0Office 2019 Professional 的注册表路径的版本号。
可以在此处找到一种注册表操作方法:在 VBA 中从/向注册表读取和写入(如果您使用 Google 搜索,您也会找到其他方法)。

解决方案 3:批处理文件

您还可以使用批处理文件创建密钥:

reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\StatusBar" /v MaxValue /t REG_DWORD /d 1
reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\StatusBar" /v MinValue /t REG_DWORD /d 1

使用reg /?以获取更多信息。

解决方案 4:Powershell

最后 Powershell 也是可能的

set-itemproperty -path HKCU:\SOFTWARE\Microsoft\Office\16.0\Excel\StatusBar -name MaxValue -Value 1
set-itemproperty -path HKCU:\SOFTWARE\Microsoft\Office\16.0\Excel\StatusBar -name MinValue Value -Value 1

请参阅使用注册表项

Excel 版本可以在 Powershell 中读取

$xl = New-Object -ComObject Excel.Application
$xl.Version
$xl.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($xl)
Remove-Variable xl

通过打开 Excel ComObject 并询问版本。


推荐阅读