【发布时间】:2022-04-27 16:59:15
【问题描述】:
目前正在开发一个机器人,我想从系统下载一个 excel 文件,将 excel 文件的内容复制粘贴到一个 word 文件中作为嵌入的 excel 表格,但表格比页面宽(它已经在横向模式下)。我在 DAS 中使用 powershell 脚本来执行此步骤。要正常解决问题,我只需右键单击表格并使用 Autofit -> Fit to Window。如何在 powershell 中执行此操作?
我的脚本目前是这样的:
$word = new-object -comobject Word.application
$word.visible = $true
$doc1 = $word.documents.open($destination)
$bookmark1 = $doc1.Bookmarks.Item("FacilitySheet")
$xl = New-Object -comobject Excel.Application
$xl.Visible = $true
$xl.DisplayAlerts = $False
$wb = $xl.Workbooks.Open("C:\Users\Pater\Downloads\spreadsheet.xlsx")
$ws = $wb.ActiveSheet
$Range1 = $ws.UsedRange.Cells
$RowCount = $Range1.rows.count
$CopyRange = $ws.Range("A1:O$RowCount").Copy()
$bookmark1.Range.Paste()
【问题讨论】:
-
这不是powershell问题,而是api这个词的一个特性。因此,如果您能找到适合您需要的任何内容,请查看 Word Api 的文档。如果有可以处理自动调整的函数,您可以像使用
Copy()函数一样调用它。 -
确实,解决方案很简单,只需将插入表格的首选宽度类型设置为 % 并将大小设置为 100(即边距之间的 100% 空间)。
-
我知道使用 VBA 可以做到这一点,但我不知道如何正确转换为 Powershell:groovypost.com/howto/insert-excel-table-into-word-with-vba 最后,要处理比文档更宽的 Excel 范围,您需要自动调整新表格,使其适合新 Word 文档的边距。有什么想法吗? ```设置 WordTable = WordDoc.Tables(1) WordTable.AutoFitBehavior (wdAutoFitWindow)
标签: excel powershell ms-word rpa