Macro d'acquisition de texte Omnipage pour Word
| Type: | macro Visual Basic pour Application (VBA) |
| Spécification: | Configuration d'Omnipage pour reconnaissance de caractère (OCR) sous Word 97/2000 |
| Objet: | Simplifier l'acquisiton de texte |
| Action: |
|
Rappel: Omnipage doit être configuré pour que la reconnaisance de caractère (OCR) puisse se faire sous Word (menu Outils | Option, onglet Ocr aware).
| acq_mngr.zip | 1,61 ko | Créé le 13/10/00 |
Cliquer ici pour télécharger scanmngr.bas
Sub scanmngr()
' Cette macro permet d'effectuer plusieurs acquisitions de texte
' Omnipage sous Word 97/2000
' Omnipage doit être configuré pour permettre la reconnaissance sous
' Word (menu outils|option onglet Microsoft Word).
' suppression de l'éventuelle bande noire au bout de chaque doc
' sauvegarde du texte à l'issue de chaque acquisition
' Déclaration des variables
Dim I, NBScann, myRange, NL, EndScann, MsgAnnulSave
' Etiquette de début
debut:
' inputbox à l'entée de la Sub permet de préciser le NB de scann à effectuer
NBScann = InputBox("Saisir le nombre de scannérisation(s) à effectuer.", "Paramètres de scannérisation")
' Si le bouton Cancel a été pressé alors fin macro
If NBScann = Cancel Then End
' Si Ok le NBScann sera un entier >=1
If NBScann = "" Or NBScann < 1 Then NBScann = 1
If NBScann <> Int(NBScann) Then NBScann = CInt(NBScann)
' Répétition jusqu'à ce que nb de scann choisi par l'utilisateur soit atteint
For I = 1 To NBScann Step 1
' Exécute la macro d'Omnipage
Application.Run "OmniPage_Ocr"
' Affectation de variable
Set myRange = ActiveDocument.Content
' Section effacement de la bande noire éventuelle au bas de l'écran
' Recherche dans le doc du caractère de type
' alphabétique ou numérique
With myRange.Find
.Forward = False
.ClearFormatting
.MatchWholeWord = False
.MatchCase = False
.MatchWildcards = True
.Wrap = wdFindContinue
.Execute findText:="[a-z,0-9]"
End With
' Sélection du résultat de la recherche
If myRange.Find.Found = True Then myRange.Select
' Se rend à la fin de la ligne
Selection.EndKey unit:=wdLine, Extend:=wdMove
' Sélection de la fin de la ligne ou se trouve le cursuer jusqu'à la fin du document
Selection.EndKey unit:=wdStory, Extend:=wdExtend
' Efface la sélection
Selection.Delete
' Fin de la section bande noire
' Nouveau paragraphe
Selection.TypeParagraph
' Routine de gestion d'erreur
On Error GoTo AnnulSave
' Sauvegarde le doc et affiche la boîte "Enregistrer sous" si le
' le doc n'a pas été sauvegardé auparavant
ActiveDocument.Save
Next I
' NL=à la ligne
NL = Chr(10)
' msgbox informe de la fin de la session et propose de reprendre
EndScann = MsgBox("Vos " & NBScann & " scannérisations sont terminées." & NL & "Voulez-vous reprendre la scannérisation ?", 68, "Fin de scann")
' Si yes on retourne au début (étiquette début) sinon fin
If EndScann = 6 Then GoTo debut Else End
' Etiquette de gestion d'erreur
AnnulSave:
' si les changments du doc n'ont pas été sauvegardés car l'utilisateur
' à presser Annuler dans la boîte 'Enregistrer sous" un msg apparaît (vb_okcancel)
If ActiveDocument.Saved = False Then MsgAnnulSave = MsgBox("Vous n'avez pas sauvegardé les changments apportés au document.", 65, "Message du manager de scannérisation")
' si l'utilisateur presse ok la procédure reprend à l'instruction suivante
' sinon elle reprend à celle qui a causé l'erreur
If MsgAnnulSave = 1 Then Resume Next Else Resume
End Sub
|
Accueil
| Programmes & scripts
| Trucs & astuces
| Liens
| CV
| Contact
| Emploi & handicap
ChifLett, jeu interactif de chiffres et de lettres MetaDico, Meta Dictionnaire]
|