【发布时间】:2017-03-21 22:30:24
【问题描述】:
我想将 Excel 中横向的打印区域复制到我的 Word 文档中,并从中运行代码。
我正在使用
wb.Sheets("Sheet1").Range("A1:N33").Copy
复制区域,但是随着列宽的变化,就没用了。
更新:
我正在使用它来计算我在 Word 文档中的可用尺寸
With ActiveDocument.PageSetup
UsableWidth = .PageWidth - .LeftMargin - .RightMargin
UsableHeight = .PageHeight - .TopMargin - .BottomMargin
End With
我试图缩放我的图像以适应:
Selection.PasteSpecial Link:=False, DataType:=wdPasteMetafilePicture, Placement:=wdInLine, DisplayAsIcon:=False
Selection.ShapeRange.Height = UsableHeight
Selection.ShapeRange.Width = UsableHeight
它并没有完全做到这一点。最好的方法是在复制之前设置图像范围。
更新2:
Dim objExcel As New Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Set wb = objExcel.Workbooks.Open("C:\test.xlsx")
Set ws = wb.Sheets("Sheet1")
这给出了一个错误:
Set rngTemp = ws.Range("A1")
【问题讨论】:
-
在 Excel 中如何设置打印区域?
-
嗯,问题是我无权访问 Excel 文件。我找到了一个临时解决方案,在该解决方案中找到最后一个包含内容的单元格并基于此设置范围。虽然不是很高兴
-
你看过这个property吗?
-
谢谢,布拉德。我已经看过它并尝试了几次。在我的情况下没有解决