mensah61
Goto Top

Suche Code zur Zählung von Wörtern - VBA, Excel (gerne mit Vergütung)

Liebes Forum

Ich bin leider keine Expertin in Sachen VBA und Makro Erstellung, weshalb ich euch gerne fragen möchte.

Ich habe mehr als 300 PDF Dateien, in denen ich die Anzahl bestimmter Begriffe feststellen muss.

Beispielsweise müsste ich schauen, wie oft der Begriff "nachhaltig" in jeder einzelnen PDF Datei in einem Ordner vorhanden ist und daraus eine Excel Tabelle erstellen.


Ich habe schon einen VBA code dafür gefunden, um die Seitenanzahl der einzelnen PDF Dateien herauszuschreiben und frage mich nun ob es dasselbe auch für das Zählen der Wörter gibt - sodass ich am Ende eine Tabelle erhalte in folgendem Format -> Dateiname- Anzahl des Begriffs grün

Falls sich hier jemand die Mühe machen könnte, sein Wissen mit mir zu teilen- wäre ich auch gerne bereit ihn enstprechend zu vergüten, damit er für seinen Spass auch belohnt wird...

oder wenn ihr irgendeine andere Möglichkeit kennt, wie ich dieses Vorgehen vereinfachen könnte- wäre ich auch offen für neues :´D

Andernfalls muss ich wieder alles einzeln machen und das würde - wieder sehr viel Zeit kosten- und ich war während dieser Recherche Arbeit schon oft genug am Ende meiner Nerven....deshalb bitte ich euch doch um eure Unterstützung...und wäre sehr dankbar...


Liebe Grüße

Studentin Mensah
Kommentar vom Moderator tomolpi am 20.08.2019 um 08:41:49 Uhr
Beitrag verschoben

Content-ID: 486656

Url: https://administrator.de/contentid/486656

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

Guenther45
Guenther45 20.08.2019 um 01:57:22 Uhr
Goto Top
Moin Mensah,

… etwas "dünn" deine Angaben über das, was du bislang wie erreicht hast.
Ich würde mir folgendes überlegen: Die ganzen *.PDF in 1 Word-Datei konvertieren. Und dann kannst du dort per VBA (oder auch von Hand) die Suchbegriffe auflisten lassen oder gegen sich selber wechseln, wo dann die Zahl der Wechsel angezeigt wird. Den Wert kannst du dann einfach in Excel übertragen.

Gruß
Günther
certifiedit.net
certifiedit.net 20.08.2019 um 07:22:09 Uhr
Goto Top
Bitte in Zusammenarbeit verschieben.
tomolpi
tomolpi 20.08.2019 um 08:41:27 Uhr
Goto Top
Zitat von @certifiedit.net:

Bitte in Zusammenarbeit verschieben.
Habe ich mal gemacht. Danke für den Hinweis!
monstermania
monstermania 20.08.2019 um 09:08:05 Uhr
Goto Top
Moin,
handelt es sich bei den PDF-Dateien um native PDF, oder sind es eingescannte PDF!?
Sprich kannst Du in den PDF-Dateien einzelne Wörter suchen/markieren oder nicht!?

Gruß
Dirk
dwaldmannDE
dwaldmannDE 20.08.2019 um 11:12:02 Uhr
Goto Top
Guten Morgen Mensah,

ich will als Alternative zu VBA mal eine andere Skriptsprache wie bspw. PowerShell in den Raum werfen. Wenn die PDF-Dateien richtigen Text (und nicht nur das Bild von Text) enthalten, ist es damit relativ einfach möglich, bestimmte Begriffe zu zählen und auch deren Fundort abzuspeichern. Ich habe für einen Kunden schonmal was ganz ähnliches gemacht. Meine Grundlage war damals der Beitrag hier: https://superuser.com/a/1278521

Es ist kein Problem, dass Skript so umzubauen, dass die Schlüsselworte auch gezählt werden.

Gruß
Daniel
colinardo
colinardo 20.08.2019 aktualisiert um 11:38:33 Uhr
Goto Top
Servus @Mensah61 ,willkommen auf Administrator.de!
Habe dir das mal schnell in Powershell zusammengescriptet, hatten ich hier ja schon in diversen Spielarten bereits im Forum gepostet.

Kommentare findest du im Skript.

Du kannst das Demo-Package hier herunterladen: count_words_in_pdfs_486656.zip

Grüße Uwe
Mensah61
Mensah61 20.08.2019 um 23:03:54 Uhr
Goto Top
Guten Tag Uwe

Auch wenn ich mich nun die Zeit mit PowerShell beschäftigt habe - komme ich leider nicht darauf, wie ich dein Skript individualisiert anwenden soll- dafür fehlen mir noch die Skills bzw das Basiswissen für PowerShell....

Unter anderem weis ich nicht genau wo ich die Pfade ersetzen soll - mit beispielsweise "C:....PDF-Ordner" (soll ich es statt dem PSScriptRoot hinschreiben ?
Was genau fange ich mit dem itextsharp.dlll an - ist das eine Datei ohne die das Skript nicht läuft ? Ich kann es nicht mal öffnen...

Meine Pfade sind Folgende

Ordner mit den PDF Dateien heißt - "Neuer Ordner" und ist in C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner zu finden
Ordner der CSV Datei heißt "ExportData" und ist auch in C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner zu finden
Deine Itextsharp.dlll Datei ist auch in C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner zu finden


Es wäre sehr lieb wenn du die entsprechenden Befehle auch einfügen könntest, da ich es einfach nicht hinkriege und Fehlermeldungen bekomme....


LG MENI
colinardo
colinardo 21.08.2019 aktualisiert um 09:54:23 Uhr
Goto Top
Zitat von @Mensah61:

Unter anderem weis ich nicht genau wo ich die Pfade ersetzen soll - mit beispielsweise "C:....PDF-Ordner" (soll ich es statt dem PSScriptRoot hinschreiben ?
Ja, $PSScriptRoot ist eine spezielle Powershell Variable in der bei Ausführung des Skripts der Ordnerpfad des Skripts steht.
Hätte man als Student(in) eigentlich auch selbst nachschlagen können
https://riptutorial.com/de/powershell/example/27231/--psscriptroot

Was genau fange ich mit dem itextsharp.dlll an - ist das eine Datei ohne die das Skript nicht läuft ? Ich kann es nicht mal öffnen...
Die DLL (Programmbibliothek des Projektes iText) wird zum Lesen der PDFs benötigt. in Ihr sind die benötigten Routinen enthalten. Du kannst sie nicht öffnen, das sind kompilierte .NET Routinen die beim Start des Skripts mit Add-Type geladen werden.


Meine Pfade sind Folgende

Ordner mit den PDF Dateien heißt - "Neuer Ordner" und ist in C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner zu finden
OK dann gehe ich von folgendem Ordner aus
C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner\Neuer Ordner
? Oder nur ein "Neuer Ordner" am Ende? Ist leider etwas schwammig, zu viele neue Ordner 😁.

Ordner der CSV Datei heißt "ExportData" und ist auch in C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner zu finden
Deine Itextsharp.dlll Datei ist auch in C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner zu finden


# ------------------------------------------------------
# Pfad in dem die PDFs liegen
$pdfquelle = 'C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner\Neuer Ordner'  
# Pfad zur CSV in das die Ergebnisse geschrieben werden
$export = 'C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner\exportdata\result.csv'  
# Pfad zur iTextsharp DLL
$PATH_ITEXTSHARP = 'C:\Users\13-4175NG\Desktop\GB\LAST\Neuer Ordner\itextsharp.dll'  
# Array aus Wörter deren Anzahl zu zählen ist
$words = 'grün','rot'  
#

Das Package war ja eigentlich so simpel aufgebaut das du es nur ausführen musst inkl. Demo-Pdf., Deswegen auch die Variable $PSScriptroot, weil mit dieser die Ausführung auch bei direkt geklappt hätte Kommentare sind ja auch eigentlich reichhaltig im Skript vorhanden, aber naja ...


Falls noch was sein sollte bitte PN an mich direkt. Merci.

So long.