使用Excel VBA修改另一个工作簿中的.zoom 属性

Using Excel VBA to modify .zoom property in another workbook

我正在编写一个复杂的 VBA 应用程序,它从一个工作簿导入数据,并在导入时转换数据。作为此导入过程的一部分,会进行计算以获取特定单元格的 .text 值(并且不能将其更改为 .value),但这意味着如果缩小源工作簿,则会导入 ######## 值,因为这就是显示的内容。

我正在尝试将源工作簿的活动表中的 .zoom 设置修改为 100% 缩放。使用的代码示例如下。

Dim SourcePath as String    
Dim SourceWorkbook as Object

FilePath = Application.GetOpenFilename 'Opens dialogue for user to select source
    If FilePath <> "" Then 'Checks that the filepath is completed
       SourcePath = FilePath 'Stores the filepath for source
    End If

Set SourceWorkbook = Workbooks.Open(SourcePath)

SourceWorkbook.ActiveWorksheet.Zoom = 100

我收到 运行-time error 91: Object variable or With block variable not set 错误,所以我假设这里的逻辑很差。

任何人都可以建议一种使这项工作有效的方法吗?感谢期待。

工作表上没有 zoom 属性,我认为您需要更改 zoom 属性 的 window!

Setting all Excel sheets at a defined zoom level

您可以使用以下代码

    Sheets("Sheet Name").Select
    ActiveWindow.Zoom = 30 ' Zoom Set to 30%