如何在打印 Word 文档时通过 VBA 自动隐藏图像和形状

立即分享:

在本文中,我们将重点向您展示在打印 Word 文档时通过 VBA 自动隐藏图像和形状的方法。

在之前的文章中,我们介绍了四种隐藏图像和形状以防止其被打印的方法。详情请参阅这篇文章: 通过打印没有图像和形状的 Word 文档来节省墨水的 4 种方法

然而,我们前几天提出的 4 种常用方法需要先在屏幕上隐藏图像和形状。 更重要的是,您必须手动切换到 Word 的后台视图才能打印文件。 之后,如果您想在屏幕上保持图像和形状完整无缺,您唯一的选择就是撤消之前的所有操作。

因此,我们想向您介绍宏观方法,以帮助您省力。

运行宏的步骤

  1. 首先,点击“开发者”选项卡。
  2. 然后点击“Visual Basic”打开VBA编辑器。点击“开发者”->点击“Visual Basic”
  3. 接下来单击“正常”以通过单击“插入”选项卡插入新模块。
  4. 然后选择“模块”。点击“普通”->点击“插入”->点击“模块”
  5. 现在双击新创建的模块以具有编辑区域。
  6. 将以下代码粘贴到那里:
Sub PrintNoImagesOrShapesInDoc()
  Dim objDoc As Document
  Dim objInLineShape As InlineShape
  Dim objShape As Shape
 
  '  Initialization
  Set objDoc = ActiveDocument
 
  '  Find all images and shapes in the active document and then hide them to prevent from being printed.
  With objDoc
    For Each objInLineShape In .InlineShapes
      objInLineShape.Select
      Selection.Font.Hidden = True
    Next objInLineShape
    Options.PrintDrawingObjects = False
  End With
 
  Dialogs(wdDialogFilePrint).Show
 
  With objDoc
    For Each objInLineShape In .InlineShapes
      objInLineShape.Select
      Selection.Font.Hidden = False
    Next objInLineShape
  End With
End Sub
  1. 最后,单击“运行”或按“F5”。粘贴代码->点击“运行”

通过单击或笔触,Word 将提示“打印”对话框。 选择打印属性后,单击“确定”进行打印。设置打印属性->点击“确定”

您将获得一个没有图像或形状的文件,而电子版本保持不变。 现在,如果您需要打印多个文件,但不包括图像和形状,这就是方法。

  1. 首先,将所有文件组织在同一个文件夹中。
  2. 然后重复上述所有步骤在 VBA 编辑器中安装和运行一个宏,只用这个替换宏:
Sub PrintMultiDocWithNoImagesAndShapes()
  Dim objDoc As Document
  Dim objInLineShape As InlineShape
  Dim objShape As Shape
  Dim strFile As String, strFolder As String
 
  '  Initialization
 
  strFolder = "C:\Users\Public\Documents\New folder\"
  strFile = Dir(strFolder & "*.docx", vbNormal)
 
  While strFile <> ""
    Set objDoc = Documents.Open(FileName:=strFolder & strFile)
 
    '  Open each doc and print it withour images and shapes.
    With objDoc
      For Each objInLineShape In .InlineShapes
        objInLineShape.Select
        Selection.Font.Hidden = True
      Next objInLineShape
      Options.PrintDrawingObjects = False
    End With
 
    Dialogs(wdDialogFilePrint).Show
 
    With objDoc
      For Each objInLineShape In .InlineShapes
        objInLineShape.Select
        Selection.Font.Hidden = False
      Next objInLineShape
    End With
    objDoc.Save
    objDoc.Close
    strFile = Dir()
  Wend
End Sub

注意::

在代码行“strFolder = “C:\Users\Public\Documents\New folder\””中,将文件路径替换为您存储文件的实际文件夹之一。

修复损坏文件的必要性

虽然,文件丢失现在不是一个陌生的话题,但有些人仍然破坏了文件丢失的重要性 文档修复有些人会直接丢弃损坏的文件。但是,如果损坏的文件至关重要呢?眼看截止日期临近,你还有足够的时间重新开始吗?答案显而易见。因此,在恢复损坏的文档时,选择一款可靠的工具至关重要。

作者简介:

Vera Chen 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 损坏的 xls 和 pdf 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。