我有一个脚本可以进行大量 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/