Excel,运行后保存并关闭

2024-07-04

下面的脚本运行后如何保存?

脚本来自:Powershell 磁盘使用情况报告 https://stackoverflow.com/questions/27663165/powershell-disk-usage-report

$erroractionpreference = "SilentlyContinue"
$a = New-Object -comobject Excel.Application
$a.visible = $True 

$b = $a.Workbooks.Add()
$c = $b.Worksheets.Item(1)

$c.Cells.Item(1,1) = "Server Name"
$c.Cells.Item(1,2) = "Drive"
$c.Cells.Item(1,3) = "Total Size (GB)"
$c.Cells.Item(1,4) = "Free Space (GB)"
$c.Cells.Item(1,5) = "Free Space (%)"

$d = $c.UsedRange
$d.Interior.ColorIndex = 19
$d.Font.ColorIndex = 11
$d.Font.Bold = $True

$intRow = 2

$colComputers = get-content "c:\servers.txt"
foreach ($strComputer in $colComputers)
{
$colDisks = get-wmiobject Win32_LogicalDisk -computername $strComputer -Filter "DriveType = 3" 
foreach ($objdisk in $colDisks)
{
$c.Cells.Item($intRow, 1) = $strComputer.ToUpper()
$c.Cells.Item($intRow, 2) = $objDisk.DeviceID
$c.Cells.Item($intRow, 3) = "{0:N0}" -f ($objDisk.Size/1GB)
$c.Cells.Item($intRow, 4) = "{0:N0}" -f ($objDisk.FreeSpace/1GB)
$c.Cells.Item($intRow, 5) = "{0:P0}" -f ([double]$objDisk.FreeSpace/[double]$objDisk.Size)
$intRow = $intRow + 1
}
}

根据https://social.technet.microsoft.com/Forums/windowsserver/en-US/919459dc-3bce-4242-bf6b-fdf37de9ae18/powershell-will-not-save-excel-file https://social.technet.microsoft.com/Forums/windowsserver/en-US/919459dc-3bce-4242-bf6b-fdf37de9ae18/powershell-will-not-save-excel-file,这会起作用,但我无法:

Add-Type -AssemblyName Microsoft.Office.Interop.Excel
$xlFixedFormat = [Microsoft.Office.Interop.Excel.XlFileFormat]::xlWorkbookDefault
$Excel = New-Object -comobject Excel.Application

$Excel.Visible = $true

################
$Excel.workbooks.OpenText($file,437,1,1,1,$True,$True,$False,$False,$True,$False)
$Excel.ActiveWorkbook.SaveAs($env:tmp + "\myfile.xls", $xlFixedFormat)

$Excel.Workbooks.Close()
$Excel.Quit()    

这对我有用:

$workbook.Close($false)
$excel.Quit()

[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

[System.Runtime.Interopservices.Marshal]::ReleaseComObject($workSheet)
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)

Remove-Variable -Name excel
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel,运行后保存并关闭 的相关文章

  • 选择单元格中的所有形状

    我需要选择给定单元格中的所有形状 我写了这段代码 但它生成错误 Dim sh as shape For Each sh In ActiveSheet Shapes If Not Intersect Range B2 sh TopLeftCe
  • Get-WMIObject 返回错误且没有描述

    在我们的一台生产服务器上 我在运行脚本时开始出现错误 剥离代码后 我在从 PowerShell 提示符运行此命令时收到错误 Get WmiObject Class win32 volume 结果是这样的 Get WmiObject At l
  • 如何等待 Power Query 刷新完成?

    Setup Windows 7 工作中 Windows 10 家用 Excel 2016 工作中的内部版本 4627 Excel 2016 在家构建8730 Power Query 设置为导入 追加和转换 Excel 文件的文件夹 这一步有
  • 如何使用 VBA 验证 Outlook 会话是否打开

    我有 VBA 宏 它可以从 Excel 中的 LN 中提取报告并向我的经理发送邮件 我已使用调度程序使用 vbs 脚本运行此宏 该调度程序从周一至周五早上运行 这里的问题是 我们有时会在周六和周日期间对我们的系统进行维护 因为展望会议即将结
  • PowerShell 脚本未压缩正确的文件

    Function Zip Param string zipFile string toBeZipped CurDir Get Location Set Location C Program Files 7 Zip 7z exe A tzip
  • 如何保存和加载xgboost模型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 来自XGBoost 指南 https xgboost readthedocs io en latest python python i
  • 在vba中编写VLOOKUP函数

    我正在尝试使用 vba 代码中的 VLOOKUP 函数在表数组中的电子表格上查找值 我不知道如何正确地写它 这是包含所有引用的普通 VLOOKUP 公式 VLOOKUP DATA AN2 DATA AA9 AF20 5 FALSE 你有没有
  • 从 VS Team Services 构建中运行的 Powershell 创建工作区

    我正在编写一个 Powershell 脚本作为 Visual Studio Team Services 构建的一部分 该构建使用托管构建控制器 该脚本旨在签出文件 进行更改 然后将其重新签入 在脚本中我试图调用tf命令创建新工作区 但我遇到
  • 编写 PowerShell cmdlet 时 WriteObject(x, true) 和多个 writeobject 有什么区别?

    我想编写一个 cmdlet 从数据库读取多条记录并将它们放入管道中 我想我可以做一个WriteObject Enumerable
  • Powershell退出不起作用

    我正在编写一个脚本 该脚本检查注册表值 如果为 0 则退出 如果值为 1 它将继续 if Get ItemProperty path HKLM SOFTWARE ICT LoginScript proceed eq 0 form close
  • 从 PowerShell 挂起或休眠

    我有兴趣使用 Windows PowerShell 挂起或休眠计算机 你如何实现这一目标 我已经知道Stop Computer and Restart Computercmdlet 它们是开箱即用的 但它们并没有实现我想要的功能 您可以使用
  • 将一维数组复制到多维数组 - VBA

    我在 VBA 中有两个函数 Function1 返回一个一维数组 然后我有 function2 它是一个多维数组 我想将 Function1 中的数组复制到从索引 1 开始的多维数组的列 arr2 0 0 Something arr2 0
  • 连接字符串的 Powershell 正则表达式?

    由于某种原因 我在解析 web config 文件中的连接字符串时遇到了困难 我已经获得了 connectionString 但我正在尝试获取所有值 例如 数据源 初始目录 Username etc 连接字符串如下所示 数据源 db sam
  • 为什么 PowerShell 中未实现“<”输入重定向?

    Why is 输入重定向 http devcentral f5 com weblogs Joe archive 2009 01 09 powershell abcs o is for output aspx没有在 PowerShell 中实
  • 将代码从 Excel 宏转换为 PowerShell

    我在 Excel 中打开一个 CSV 文件并运行此宏来更改背景颜色 我正在尝试将这部分代码转换为PowerShell lrow Range G Rows Count End xlUp Row Set MR Range G2 G lrow F
  • 打开 Excel 2016 文件失败,HRESULT:0x800706BE

    用于打开现有 Excel 文件的简单 VB NET 代码在打开命令时始终失败 并出现以下错误 远程过程调用失败 HRESULT 异常 0x800706BE 我在 Stack Overflow 和 Microsoft 网站上搜索了这个错误 似
  • VB Clear Scripting.Dictionary 对象

    我正在写一个Excel宏 并且我在清除时遇到问题Scripting Dictionary 对象 Dim test As Integer test CompListDict Count CompListDict RemoveAll Set C
  • 使用 Microsoft Excel 绘制 CDF 图表

    我不太确定是否可以在这里或上问这个问题超级用户 https superuser com 我想知道如何绘制CDF http en wikipedia org wiki Cumulative distribution function从我的Ex
  • 使用 PowerShell 中的“备份”上下文创建卷影副本

    我正在编写一个 PowerShell 脚本 用于使用 rsync 备份 Windows 计算机 为此 我尝试使用所述脚本中的 WMI 创建一个有编写者参与的非持久卷影副本 显然建议备份 我从另一个问题中得知 从 Powershell 访问卷
  • Excel 使用 VBA 函数计算公式时会出现错误,除非重新输入

    我在工作表中设置了一个简单的 if 语句 其中 if 条件是 VBA 用户定义的函数 Function CellIsFormula ByRef rng CellIsFormula rng 1 HasFormula End Function

随机推荐