【问题标题】:Using VBScript to Change Excel View to Page Layout使用 VBScript 将 Excel 视图更改为页面布局
【发布时间】:2023-03-31 10:15:01
【问题描述】:

我需要使用 VBScript 将 Excel 工作簿中的所有工作表更改为页面布局视图而不是默认视图。但是,我无法弄清楚如何在 VBS 中做到这一点。使用 VBA,我一直在使用的代码(使用 while 循环遍历每张纸)是

With ActiveWindow
    .View = xlPageLayoutView
End With

这很好地满足了我的目的。但我需要在 VBS 中执行此操作。我认为它与 Application 对象有关,但我不确定。任何帮助将不胜感激。

编辑:这是我用声明和东西编写的代码示例。它基本上是迭代工作簿中的许多工作表并将它们全部(或尝试)设置为页面布局视图。此段中缺少的是我使用与 Names() 中的条目匹配的新工作表填充工作簿的子项。

Dim destFile, objWorkbook

Set destFile = CreateObject("Excel.Application")

Set objWorkbook = destFile.Workbooks.Add()
objWorkBook.SaveAs(strPath)

Sub OverNames()
    For i = 1 to 9
        SetPagelayout(i)
    Next
End Sub

Sub SetPageLayout(hNum)
    Dim houseSheet, sheetName

    'retrieves sheet name from array Names()
    sheetName = Names(hNum, 0)

    Set houseSheet = destFile.Worksheets(sheetName)

    houseSheet.Window.View = xlPageLayoutView
End Sub

【问题讨论】:

    标签: excel vbscript


    【解决方案1】:

    VBA 已经有 excel 和加载的工作簿。使用 VBS,您需要创建一个 excel 对象并用它打开您的工作簿。此外,VBA 为 excel 设置定义了静态变量,您必须在 VBS 中自行定义。

    Dim objExcel
    Dim excelPath
    Dim xlPageLayoutView=3  ' https://msdn.microsoft.com/en-us/library/office/ff838200.aspx
    
    excelPath = "C:\scripts\servers.xlsx"
    objExcel.DisplayAlerts = 0 
    
    Set objExcel = CreateObject("Excel.Application")
    

    为了改变窗口的状态,你必须访问窗口对象。在 excel 中有工作簿,其中包含工作表和窗口的集合。该应用程序还包含所有工作表中所有窗口的集合。在工作簿窗口集合中,活动窗口始终通过索引 1 访问。

    Set currentWorkBook = objExcel.ActiveWorkbook
    Set currentWorkSheet = currentWorkBook.Worksheets("Sheet Name Here")
    
    currentWorkSheet.Activate
    
    Set currentWindow = currentWorkBook.Windows(1)
    
    currentWindow.View = xlPageLayoutView
    

    【讨论】:

    • 当我尝试这样做时,我收到错误消息 800A01B6,并显示错误消息“对象不支持此属性或方法:'houseSheet.Window'。”我将编辑我的帖子以包含我编写的代码的修改版本,这样你就可以看到我在哪里声明了一些东西。
    • 已修复。您必须通过工作簿的窗口集合访问窗口对象。激活要更新的工作表,以强制将其放入工作簿窗口集合的索引 1。
    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    相关资源
    最近更新 更多