【问题标题】:Powershell code to insert excel worksheet into excel file将excel工作表插入excel文件的Powershell代码
【发布时间】:2021-03-30 00:29:43
【问题描述】:

是否可以将对象嵌入到excel文件中?

我尝试使用"$sheet.OLEObjects().Add(),但无法获得正确的参数来嵌入对象。我想知道是否可以使用 powershell 来做到这一点。

我们将不胜感激任何有关此事的帮助。

编辑:2020 年 12 月 21 日

这是我所指的代码:

$src = "C:\Temp\Temp\src.xlsm"
$dst="C:\Temp\Temp\dst.xlsx"

$excel=New-Object -ComObject Excel.Application
$excel.visible = $false
$excel.DisplayAlerts=$false
$book = $excel.workbooks.Open($src, $null, $false)

$sheet = $excel.worksheets.item("sheetname")
[void]$sheet.Activate()

$sheet.OLEObjects().Add($missing, $dst, $false, $true,$missing, 1, "Attachment', $missing, $missing, $missing)

[void] $book.save()
[void]$book.Close()
[void]$book.Quit()

上面的代码给出了错误“无法获取 OLEObjects 类的 Add 属性。

还尝试了下面的方法,它实际上将一个空工作表附加到了工作簿而不是目标文件,并且还给出了与上面相同的错误消息。

$sheet.OLEObjects().Add('excel.sheet', $missing, $false, $true, $dst, 1, "附件', $missing, $missing,$missing)

【问题讨论】:

标签: excel vba powershell embed createoleobject


【解决方案1】:

使用以下两个代码行添加:

$oleObjects = $sheet.OLEObjects($missing)

$oleObjects.Add($missing,$dst, $false, $true, "WINWORD.EXE", "LabelName", $missing, $missing, $missing)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2012-07-01
    • 2019-10-10
    相关资源
    最近更新 更多