【问题标题】:declare activesheet to array for printing 2 sheets of workbook将 activesheet 声明为数组以打印 2 张工作簿
【发布时间】:2017-10-27 08:45:45
【问题描述】:

我正在尝试同时打印活动工作表和另一个包含一般信息的工作表(在同一个工作簿中)。 (正反面,我的打印机自动完成,不需要代码)

在我的工作簿中,我有多个使用相同代码进行打印的工作表。现在我想将带有“Huurvoorwaarden”一般信息的工作表添加到数组中,以便自动打印并在活动工作表的背面。

我尝试了多种解决方案,例如 dim / set activesheet.name,以及我在网上找到的代码。没有任何效果。 我知道当我将“activesheet”更改为 Sheet1 时,它会起作用,但仅适用于工作表 1。

你能帮帮我吗?

这是我得到的:(我所有的旧尝试都被删除了)

    'Print Active Sheet and sheet Huurvoorwaarden
    Worksheets(Array("activesheet.name", "Huurvoorwaarden")).PrintOut

【问题讨论】:

    标签: excel printing vba


    【解决方案1】:

    活动工作表的名称不是字符串文字"ActiveSheet.Name",而是属性ActiveSheet.Name

    所以你需要使用

    Worksheets(Array(Activesheet.Name, "Huurvoorwaarden")).PrintOut
    

    【讨论】:

    • 非常感谢。它现在确实打印了两页,但它不再打印正反面了。使用此代码:Worksheets(Array("Blad1", "Huurvoorwaarden")).PrintOut。但话又说回来,它不会打印活动表。双面打印是我打印机的标准功能。有什么建议吗?
    • Array 函数是否传递两个字符串,这两个字符串都是字符串文字,或者是否传递两个字符串,其中一个是从变量中获得的,应该没有区别。在这两种情况下,它都会收到两个Strings。 Worksheets 对象不知道 如何 它作为索引传递的字符串数组是创建的,PrintOut 方法不知道 Worksheets 对象如何确定哪个工作表将被打印出来。
    • 再次感谢您。我再次尝试了这段代码 - 现在它工作正常。不知道为什么几天前没有。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    相关资源
    最近更新 更多