excel - 如何显示(或防止隐藏)从 PowerShell 创建的 Excel 工作表

标签 excel vba powershell

我有一个脚本可以进行大量 Excel 处理。制作两个工作表后,我再制作三个工作表并用数据填充它们。但是,当我打开该工作簿时,工作表的顺序为 5、4、3、1、2

打开电子表格

$ExcelObject=New-Object -ComObject Excel.Application
$ExcelWorkbook=$ExcelObject.WorkBooks.Open("c:\Output.xlsx") 

制作工作表

$ActiveWorksheet=$ExcelWorkbook.WorkSheets.Add()
$ActiveWorksheet.Activate()
$ActiveWorksheet.Visible=$True
$ActiveWorksheet=$ExcelWorkbook.WorkSheets.item("$WorksheetName")

最后三个工作表看起来并不存在,直到您单击左侧工作表导航箭头三次才能显示它们。

如果我录制一个宏,则使它们可见的 VBA 代码是三个实例

ActiveWindow.ScrollWorkbookTabs Sheets:=-1

有 xlFirst 枚举,但我似乎找不到正确的语法来使其工作。

为什么他们没有显示?有没有一种 Powershell 方法可以使它们可见或在保存之前滚动它们以显示?

最佳答案

您是想在用户界面中选择它们,还是希望它们按顺序排列?如果只是想在用户界面中看到它们,

$ActiveWorksheet.Select()

如果您希望它们按顺序排列,请更改您的 Add()。

$ActiveWorksheet=$ExcelWorkbook.WorkSheets.Add([System.Reflection.Missing]::Value,$ExcelWorkbook.Worksheets.Item($ExcelWorkbook.Worksheets.count))

应在右侧添加一个工作表。

关于excel - 如何显示(或防止隐藏)从 PowerShell 创建的 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58457260/

相关文章:

vba - 在电子表格中使用 activex 复选框控件

powershell - Invoke-WebRequest - json 中的特殊字符问题

azure - 相当于 az acr login 的 powershell 是什么

excel - 如何设置整个工作簿的字体和大小而不是逐张设置?

excel - 在 Excel VBA 中查找基于 2 列的数据

excel - 如何在 VBA 中将一长行代码分成多行

powershell - 如何创建Wmic Powershell脚本

excel - 公式中 Range.FormulaLocal 和文本字符串的问题

excel - 如何在工作簿中工作时而不是仅在打开工作簿时连续运行 VBA 子例程?

excel - 如何找到列标题并返回列号vba