簡體   English   中英

使用 Windows Powershell 在 Excel 中保存 .xlsm 文件類型

[英]Saving a .xlsm file type in Excel using Windows Powershell

大家好,我正在 Windows powershell 中打開一個 .xlsm 工作表,然后將數據從讀取主機變量寫入各種單元格。 一切正常,除非我使用 powershell 保存文件。 它給了我下面引用的這個錯誤,並拒絕以 .xlsm 格式保存它,該文件已經是一個 .xlsm 文件,所以我沒有轉換它。 使用此代碼保存 .xlsx 格式時我沒有問題,這可能是我的問題。 我是個新手請原諒我的無知。

“此擴展名不能與選定的文件類型一起使用。在文件名文本框中更改文件擴展名,或通過更改另存為類型來選擇不同的文件類型。”

這是我用來保存到 .xlsm 的代碼。 我刪除了很多文件結構以保護隱私並使其更簡單,我的代碼工作正常但不是保存到 .xlsm 部分,請幫助...

            Add-Type -AssemblyName Microsoft.Office.Interop.Excel
            $xlFixedFormat = [Microsoft.Office.Interop.Excel.XlFileFormat]::xlWorkbookDefault
            $XL = New-Object -comobject Excel.Application
            $Num = Read-Host - Prompt 'What is the number?'
            $FilePath = "V:\$fileName.xlsm"
            $workbook = $XL.Workbooks.Open($FilePath)
            $WS = $workbook.Worksheets("Sheet1")
            $ws.Cells.Item(2,29) = "$Num"
            $XL.DisplayAlerts = $False
            $WB.SaveAs($FilePath)
            $WB.Close
            [System.Runtime.Interopservices.Marshal]::ReleaseComObject($XL) | Out-Null

解決方案:

            Add-Type -AssemblyName Microsoft.Office.Interop.Excel
            $xlFixedFormat = [Microsoft.Office.Interop.Excel.XlFileFormat]::xlOpenXMLWorkbookMacroEnabled
            $XL = New-Object -comobject Excel.Application
            $Num = Read-Host - Prompt 'What is the number?'
            $FilePath = "V:\$fileName.xlsm"
            $workbook = $XL.Workbooks.Open($FilePath)
            $WS = $workbook.Worksheets("Sheet1")
            $ws.Cells.Item(2,29) = "$Num"
            $XL.DisplayAlerts = $False
            $WB.SaveAs($FilePath,$xlFixedFormat)
            $WB.Close
            [System.Runtime.Interopservices.Marshal]::ReleaseComObject($XL) | Out-Null

XlFileFormat文檔中,您需要為 XLSM 文件xlOpenXMLWorkbookMacroEnabled xlOpenXMLWorkbookMacroEnabled。

$xlFixedFormat = [Microsoft.Office.Interop.Excel.XlFileFormat]::xlOpenXMLWorkbookMacroEnabled
...
$WB.SaveAs($FilePath,$xlFixedFormat)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM