MODI组件 | |
Microsoft Office Document Imaging (MODI)是Office 2003-2007版本中的一个利用OCR(Optical Character Recognition 光学字符识别)技术识别图像中的文字并转换为文本的一个组件。在VBA中使用该组件需要在“工具-引用”中将其设置为“可使用的引用”,如右图。 | ![]() |
VBA识别图片文字的代码如下:
Private Sub Select_JPG_File()
SelectedFilePath="D:\1.jpg"
OCRImageFile (SelectedFilePath)
MsgBox "识别成功!", vbOKOnly, "提示"
End Sub
' 利用微软MODI控件,实现OCR文字识别。
' 1. 需要安装微软MODI控件,可以通过Office原装安装光盘添加工具里面OCR组件。
' 2. 点击“开发工具->Visual Basic->工具->引用->Microsoft Office Document Imaging 12.0 Type Library”
Function OCRImageFile(ByVal ImageFile As String)
Dim objDocument As New MODI.Document
Dim objImage As New MODI.Image
objDocument.Create ImageFile
Set objImage = objDocument.Images.Item(0)
On Error Resume Next
objImage.OCR miLANG_CHINESE_SIMPLIFIED, False, False ' 以中文模式识别,并禁止自动检测
If Err.Number = 0 Then
'MsgBox objImage.Layout.Text ' 显示识别的文本
Sheets("Sheet1").Cells(1, 1) = objImage.Layout.text ' 将识别结果写入单元格
Else
MsgBox Err.Description
End If
objDocument.Close False
Set objDocument = Nothing
End Function
虽然有高手提取了该组件的独立安装包,并设法部署在Office2010版本中使用,但经过笔者反复试验,其成功率非常低,仅在Office2010精简版中部署成功过,而在Office2010正版安装环境中从未成功过,总是造成Office应用软件直接崩溃,并提示如下错误信息: | |
错误信息 | |
问题签名: 有关该问题的其他信息: | ![]() |
OneNote组件 | |
由于MODI组件很难在Office2010以上版本中成功部署,且其对图片文字的识别能力较差,准确率又不高,建议改用OneNote组件来代替它。OneNote是Office中的一个电子笔记本软件,它支持使用触笔、声音或视频创建笔记,且能够直接识别和复制图片中的文字,并粘贴到其他文档中进行编辑,非常方便,且识别率高,如右图。 | ![]() |