VBA从excel打印,但不打印注解

d7v8vwbk  于 2023-01-06  发布在  其他
关注(0)|答案(4)|浏览(261)

我想打印工作簿中的某些工作表,但不列出额外的单元格注解页。
做了相当多的研究,但还没有想出如何做
我使用的潜艇如下:

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)文件-〉打印-〉页面设置-〉工作表
2)将“注解”下拉列表更改为“(无)”,而不是“在工作表末尾

但我真的需要能够从代码中完成。
有什么主意吗?谢谢

yiytaume

yiytaume1#

.PrintComments = False

是在2016年强制关闭它们的唯一方法。xlPrintNoComments没有这样做,实际上一直在重新打开它们。
打印选项的指针是记录一个宏,按照你想要的方式设置一切,然后看看Excel给你什么。在这种情况下,它一直给我xlPrintNoComments,正如我上面所说,不起作用。

cnh2zyt3

cnh2zyt32#

LOL写的问题给了我一个线索,我解决了它。
它不是打印选项,而是页面设置选项。

Worksheet.PageSetup.PrintComments = xlPrintNoComments

测试和工作

yvfmudvl

yvfmudvl3#

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

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`
ckocjqey

ckocjqey4#

Worksheet.PageSetup.PrintComments = xlPrintNoComments-〉在单独的页面上打印注解
Worksheet.PageSetup.PrintComments = false-〉不打印任何注解,解决问题

相关问题