excel - 以编程方式将最小值/最大值添加到 Excel 右下角的状态栏

标签 excel vba powershell batch-file registry

我想通过 VBA 操作 Excel 中的状态栏。我想添加 Min/Max 和可能更多的操作,但就目前而言,这是目标。我尝试使用 Macro Recorder,但它没有拾取任何东西。要手动执行此操作,只需右键单击状态栏,然后选择“最大/最小值”,它就会显示出来。是否有通过 VBA 进行调整的隐藏方法?

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

enter image description here

最佳答案

这些值在 Windows 注册表中设置

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

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

注册表项是

  • 最大值
  • 最小值

并且它们的类型为 REG_DWORD 并且在 0 被禁用的情况下启用 1

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

解决方案一:组策略

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

方案二:VBA

或者使用 VBA 保存注册表项,并使用 Application.Version 确定注册表路径所需的版本号,它为 Office 2019 Professional 返回 16.0
可以在此处找到一种注册表操作方法:Read and write from/to registry in VBA (如果你谷歌你也会找到其他方法)。

解决方案 3:批处理文件

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

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

参见 Working with Registry Entries .

Excel 版本可以在 Powershell 中读取

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

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

关于excel - 以编程方式将最小值/最大值添加到 Excel 右下角的状态栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68042033/

相关文章:

powershell - PowerShell 中的强类型引用?

powershell - 如何使用名称为*的Get-Counter选择性能计数器

mysql - 关于创建 Web 数据库应用程序的建议

vba - VB6/VBScript 将文件编码更改为 ansi

vba - 使用一行代码清除范围数组

javascript - 如何将密码从 javascript 传递到 powershell

excel - 重命名命名范围

vba - 以编程方式对行或列进行分组和取消分组

excel - 你如何使用 Left/right/substitute 函数来查找逗号之间的值

python - For 循环在 Excel worksheet_python 中不起作用