Hallo liebe VBA-Profis
Ich kriege immer wieder etwa 2 bis 15 Word-Dateien, muss diese öffnen, eine Eigenschaft der Datei notieren (bei mir ist es die Anzahl der Seiten eines bestimmten Abschnitts, nehmen wir der Einfachheit halber an, es sei die Seitenanzahl des Dokuments) und am Schluss die Werte zusammenzählen. Ich habe nun ein Makro zusammengeschustert, das diese Werte im folgenden Stil in der Datei Seitenzahlen.txt notiert:
004 Datei01.docx
021 DateiBsp.docx
017 Datei939.docx
004 DateiLouie.docx
122 Datei02.docx
Ich habe drei Leerzeichen als Trennzeichen gewählt. Sieht schön aus, ich hoffe, das geht so. Wenn der letzte Wert notiert ist, möchte ich in der gleichen Word-Datei eine Prozedur starten, die die Werte addiert. Wie ich das Resultat am Schluss wieder in Seitenzahlen.txt reinschreibe, wüsste ich wahrscheinlich. Aber wie kann ich die Werte in der ersten Spalte einer CSV-Datei zusammenzählen? Leider ist es mir gelungen, die Zahlen schön untereinander zu schreiben. Das macht das Ganze noch etwas schwieriger. Für euch Profis ist das aber sicher kein Problem, oder?
Die vereinfachte Version des Makros, das die Werte in die Textdatei schreibt:
Sub CountPages()
Dim strFolderPath As String
Dim intPages As String
strFolderPath = ActiveDocument.Path & "\"
' Rufe die Anzahl der Seiten ab und speichere sie dreistellig in einer Variable
intPages = Format$(ActiveDocument.ComputeStatistics(wdStatisticPages), "000")
' Speichere den Wert in einer CSV- bzw. Textdatei
Open strFolderPath & "Seitenzahlen.txt" For Append As 1
Print #1, intPages & " " & ActiveDocument.name
Close 1
End Sub
PS1: Ich muss die Word-Dateien ohnehin alle nacheinander öffnen. Eine automatische serielle Abarbeitung bringt daher wahrscheinlich nicht viel, hat bei mir auch nicht gut geklappt.
|