Bob muss alle Grafiken in einem Dokument zählen. Einige der Grafiken sind inline und andere schwebend. Einige wurden als Bilder eingefügt, andere mit den Zeichenwerkzeugen in Word. Bob vermutet, dass das Dokument zwischen 150 und 200 Grafiken enthält, aber er würde gerne einen Weg finden, um schnell zu zählen.

Es gibt einige Dinge, die Sie versuchen können, um die Anzahl Ihrer Grafiken zu ermitteln. Das erste ist, eine einfache Suche und Ersetzung zu verwenden. Alles was Sie tun müssen, ist nach ^ g zu suchen und durch ^ & zu ersetzen. Das findet jede Grafik und ersetzt sie durch alles, was gefunden wurde. Mit anderen Worten, es gibt keine Änderungen an Ihrem Dokument. Word informiert Sie jedoch darüber, wie viele „Ersetzungen“ vorgenommen wurden. Diese Anzahl ist die Anzahl der Grafiken in Ihrem Dokument.

Das Problem bei diesem Ansatz ist, dass nur Inline-Bilder innerhalb des Dokuments gezählt werden. Es wird nichts auf der Zeichnungsebene „gefunden und ersetzt“. Um alle Bilder zu erhalten, müssen Sie einen anderen Ansatz ausprobieren. Sie können beispielsweise die Funktion „Gehe zu“ von Word verwenden. Drücken Sie F5, um die Registerkarte Gehe zu des Dialogfelds Suchen und Ersetzen anzuzeigen. Wenn Sie auf der rechten Seite des Bildschirms Grafik auswählen, können Sie durch die Grafiken im Dokument gehen, indem Sie auf die Schaltfläche Weiter klicken. Wenn Sie eine Reihe von Grafiken haben, können Sie einfach +150 in das Feld einfügen und auf Gehe zu klicken. Sie springen zu dieser Grafiknummer, sofern diese verfügbar ist, und können dann die verbleibenden durchgehen und dabei zählen.

Dieser Ansatz ist besser beim Finden von Grafiken als der Find-and-Replace-Ansatz. Es ist jedoch nicht perfekt, da es in Ihrem Dokument Stellen gibt, an denen Grafiken platziert werden können, die von Go To nicht erfasst werden.

(Oder ehrlich gesagt vom Objektbrowser, der denselben Suchmechanismus wie Gehe zu verwendet.) Bei diesem Ansatz werden Grafiken gefunden, die sich inline und auf der Zeichnungsebene befinden. Sie werden jedoch nicht an anderen Stellen gefunden, z. B. in Kopf- oder Fußzeilen. Um diese zu finden und in die Zählung einzubeziehen, müssen Sie ein Makro verwenden. Das folgende Makro bietet eine umfassendere Anzahl von Grafiken:

Sub CountGraphics()

Const sBkMk = "ReturnHere"



Dim lngSections As Long     Dim lngSectionCounter As Long     Dim lngMainDocInlineShapes As Long     Dim lngMainDocShapes As Long     Dim lngHdrInlineShapes As Long     Dim lngHdrShapeRange As Long     Dim lngFtrInlineShapes As Long     Dim lngFtrShapeRange As Long     Dim lngTotalInlineShapes As Long     Dim lngTotalShapes As Long     Dim sMsgText As String

Application.ScreenUpdating = False

'Get the number of sections in the document.

lngSections = ActiveDocument.Sections.Count

'Get the number of inline objects and     'shape objects in the main document     lngMainDocInlineShapes = ActiveDocument.InlineShapes.Count     lngMainDocShapes = ActiveDocument.Shapes.Count

'Insert a bookmark to return to this place in the document.

ActiveDocument.Bookmarks.Add sBkMk, Selection.Range

'Go to the first page of the document.

Selection.HomeKey wdStory, wdMove

'Cycle through all of the sections in the document     'looking in headers and footers for graphics     For lngSectionCounter = 1 To lngSections         'Go to the header of the current page         ActiveDocument.ActiveWindow.View.SeekView = wdSeekCurrentPageHeader         Selection.WholeStory         'Get the number of inline objects and shape objects         lngHdrInlineShapes = lngHdrInlineShapes _           + Selection.Range.InlineShapes.Count         lngHdrShapeRange = lngHdrShapeRange _           + Selection.Range.ShapeRange.Count

'Go to the footer of the current page         ActiveDocument.ActiveWindow.View.SeekView = wdSeekCurrentPageFooter         Selection.WholeStory         'Get the number of inline objects and shape objects         lngFtrInlineShapes = lngFtrInlineShapes _           + Selection.Range.InlineShapes.Count         lngFtrShapeRange = lngFtrShapeRange _           + Selection.Range.ShapeRange.Count

Selection.GoTo wdGoToSection, wdGoToNext     Next

'Go to the main body of the document.

ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument

'Enable automatic screen updates     Application.ScreenUpdating = True     Application.ScreenRefresh

'Go to the bookmark that was inserted earlier.

If ActiveDocument.Bookmarks.Exists(sBkMk) Then         Selection.GoTo wdGoToBookmark, , , sBkMk         ActiveDocument.Bookmarks(sBkMk).Delete     Else         MsgBox "The bookmark '" & sBkMk & "' does not exist."

End If

'Calculate the total number of inlineshape objects     'and (shape and shaperange) objects     lngTotalInlineShapes = lngMainDocInlineShapes _       + lngHdrInlineShapes + lngFtrInlineShapes     lngTotalShapes = lngMainDocShapes _       + lngHdrShapeRange + lngFtrShapeRange

'Include the values from the variables into the     'text of the message     sMsgText = vbTab & vbTab & "Inline Shapes" _       & vbTab & "Other Shapes" & vbCr _       & "Main Document:" & vbTab & lngMainDocInlineShapes _       & vbTab & vbTab & lngMainDocShapes & vbCr _       & "Headers:" & vbTab & vbTab & lngHdrInlineShapes _       & vbTab & vbTab & lngHdrShapeRange & vbCr _       & "Footers:" & vbTab & vbTab & lngFtrInlineShapes _       & vbTab & vbTab & lngFtrShapeRange & vbCr _       & "Total:" & vbTab & vbTab & lngTotalInlineShapes _       & vbTab & vbTab & lngTotalShapes & vbCr & vbCr _       & "Note: The values for the headers and the footers " _       & "could include duplicates."



'Display the results of the procedure.

MsgBox sMsgText End Sub

Beachten Sie, dass das Makro nicht nur die Anzahl der Grafiken im Hauptdokument abruft, sondern auch jeden Abschnitt im Dokument durchläuft und die Kopf- und Fußzeilen auf Grafiken überprüft. Bei diesem Makro sind einige Dinge zu beachten, die sich auf die Genauigkeit der zurückgegebenen Zählung auswirken können. Alle diese Elemente sind Teil des Umgangs von Word mit Grafiken in einem Dokument.

  • Wenn das Dokument eine Zeichenfläche enthält, wird es unabhängig von der Anzahl der darin enthaltenen einzelnen Formen als einzelne Grafik (ein Formobjekt) behandelt.

  • Separate Formen werden separat gezählt. Wenn separate Formen zu Gruppen zusammengefasst werden, werden sie als einzelne Form gezählt.

Schließlich gibt es noch eine andere Möglichkeit, wie Sie versuchen können, eine Anzahl von Grafiken zu erhalten: Speichern Sie Ihr Dokument einfach als Webseite (im HTML-Format). Als Teil des Speichervorgangs auf diese Weise speichert Word die Grafikdateien im Dokument in einem eigenen Ordner. Sie müssen dann nur noch die Anzahl der Dateien im Ordner überprüfen und haben eine gute Vorstellung davon, wie viele Grafiken sich im Dokument befanden. (Wie Sie ein Dokument im HTML-Format speichern, wird in anderen WordTips behandelt.)

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (10388) gilt für Microsoft Word 2007, 2010, 2013 und 2016. Eine Version dieses Tipps für die ältere Menüoberfläche von Word finden Sie hier: Alle Grafiken zählen.