从excel打印VBA而不打印评论

时间:2015-06-26 03:45:49

标签: excel vba excel-vba

我想打印一些工作簿的工作表,而不会列出额外的单元格注释页面。

完成了相当多的研究,但还没有找到如何做到这一点

我正在使用的子目录如下:

Sub PrintAllButtonEvent(control As IRibbonControl)
    Dim theWorksheet As Worksheet

   For Each theWorksheet In Sheets
      If Left(theWorksheet.Name, 1) <> "_" Then
         setPrintSize theWorksheet
         UpdateHeader theWorksheet
         theWorksheet.PrintOut
      End If
   Next theWorksheet
End Sub

PrintOut方法似乎没有抑制注释的选项。

我可以通过以下方式手动完成:

1)文件 - &gt;打印 - &gt;页面设置 - &gt;工作表

2)将评论下拉菜单更改为(无)而不是在片尾

enter image description here

但我真的需要能够从代码中做到这一点。

有什么想法吗?感谢

3 个答案:

答案 0 :(得分:3)

LOL写这个问题给了我一个线索,我解决了它。

它不是打印选项,它是页面设置选项。

Worksheet.PageSetup.PrintComments = xlPrintNoComments

经过测试和工作

答案 1 :(得分:2)

.PrintComments = False 

是在2016年强迫他们离开的唯一方法。xlPrintNoComments不会这样做,并且实际上一直在重新开启它们。可能的错误?

打印选项的指针是录制宏,按照您的需要设置所有内容,然后查看Excel为您提供的内容。在这种情况下,它一直给我xlPrintNoComments,如上所述,它不起作用。

答案 2 :(得分:1)

这种方法也有效 - 见最后一行

Sheets("CUSTOMER").Select
Range("CustomerSummaryPrintArea").Select
Range("CustomerSummaryPrintArea").Activate
Application.PrintCommunication = False

With ActiveSheet.PageSetup
    .PrintTitleRows = ""
    .PrintTitleColumns = ""
End With
With ActiveSheet.PageSetup
    .LeftHeader = ""
    .CenterHeader = ""
    .RightHeader = ""
    .LeftFooter = ""
    .CenterFooter = ""
    .RightFooter = ""
    .PrintHeadings = False
    .PrintGridlines = False
    .PrintComments = False`