Texterkennung mit OCR und VBA

Wer sich die Mühe macht, Dokumente wie etwa seine Geschäftskorrespondenz zu scannen, möchte möglicherweise auch auf die darin enthaltenen Texte zugreifen. Mit Access, VBA und der passenden Bibliothek ist das ein Kinderspiel: Access im Unternehmen zeigt, wie Benutzer von Access 2003 ihre Anwendung kostenlos um ein VBA-gesteuertes OCR-Tool zur Texterkennung erweitern.

Seit Office XP liefert Microsoft mit seinen Paketen ein Steuerelement namens Microsoft Office Document Imaging Viewer aus, das zusammen mit der Microsoft Office Document Imaging x.0 Type Library ein interessantes Gespann zur Anzeige und Verarbeitung von gescannten Dokumenten liefert. Damit kann man ins digitale Format überführte Dokumente erst richtig wertvoll machen: Die Methoden der genannten Bibliothek ermöglichen nämlich das Erkennen der in den Dokumenten enthaltenen Texte.

Interessant ist das für viele Anwendungen: In einer Vertragsverwaltung etwa kann man es sich sparen, Vertragsinhalte zusammengefasst in Text- oder Memofeldern einer Tabelle zu speichern, um später danach zu suchen – stattdessen liest man einfach den kompletten Vertragstext in ein Memofeld ein. Oder man erzeugt direkt eine Tabelle mit den enthaltenen Wörtern und verknüpft diese mit dem jeweiligen Vertragsdatensatz – so lässt sich gar eine Volltextsuche realisieren.

Hilfe herunterladen

Die Hilfe zur Bibliothek Microsoft Office Document Imaging 11.0 Type Library wird nicht standardmäßig mitinstalliert. Sie können diese aber unter [1] herunterladen und dann im Verzeichnis C:\\Program Files\\Microsoft Office 2003 Developer Resources\\MODI speichern.

Die Hilfe ist leider nicht im VBA-Editor integriert; Sie müssen Informationen zu den Objekten, Methoden, Eigenschaften und Ereignissen also von Hand statt per F1 heraussuchen.

Dokumente anzeigen

Vor der Texterkennung sieht man immer gerne, ob man aktuell überhaupt das richtige Dokument beackert. Daher fügen Sie einem neuen Formular namens frmOCR zunächst den Microsoft Office Document Imaging Viewer hinzu (s. Abb. 1) und ändern seinen Namen auf ctlMODI. Legen Sie dann eine Schaltfläche namens cmdDokumentOeffnen hinzu, die folgende Ereignisprozedur auslöst. Die hier verwendete Funktion OpenFileName zum Anzeigen des Datei-Dialogs finden Sie im Modul mdlTools der Beispieldatenbank (s. Listing 1).

Listing 1: Dokument öffnen

Private Sub cmdDokumentOeffnen_Click()
     Me.ctlMODI.FileName = OpenFileName(CurrentProject.Path, _
"Dokument öffnen:", "Tagged Image File (*.tif)") End Sub
pic001.tif

Abb. 1: Hinzufügen des Steuerelements zum Anzeigen von Dokumenten

Damit haben Sie auch schon die erste Methode des MODI-Steuerelements kennen gelernt – nämlich die zum Anzeigen eines im Dateisystem gespeicherten Dokuments.

Obige Routine greift direkt über Me!ctlMODI auf das Steuerelement zu, was nicht von IntelliSense unterstützt wird, aber letztendlich zuverlässiger ist. Möchten Sie IntelliSense bei der Programmierung einsetzen, legen Sie eine passende Objektvariable für den Verweis auf das Steuerelement an und weisen Sie der Variablen in der Ereignisprozedur Beim öffnen des Formulars das Steuerelement über dessen Object-Eigenschaft zu. In der Folge verwenden Sie dann die Objektvariable objMODI für den Zugriff auf das Steuerelement (s. Abb. 2).

pic002.tif

Abb. 2: Original und Fälschung

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar