投稿者 snowmansnow  (社会人) 投稿日時 2021/2/4 22:55:57

 こんばんは、
  エクセルは、間違えてまして、2016mso(16.0。13530.20418)32ビットでした。
  VBAは7.1でした。

  フォームのコードでなく、
  標準モジュール単独で、読込、認識できましたので、今回の質問は終了させて頂きたいと思います。皆さんありがとうございます。またお願いいたします。

VBA
Private Sub Module()
   
   Dim inkP As New MSINKAUTLib.InkPicture
  Dim imgBytes() As Byte
Dim sFilePathAndName6 As String

fn = "C:\Users\Y2\Desktop\手書き\ta.isf"

'https://www.239-programing.com/excel-vba/basic/basic085.html
    sFilePathAndName6 = (fn)
    Open sFilePathAndName6 For Binary Access Read As #2
    'https://thom.hateblo.jp/entry/2015/08/15/153316
    ReDim imgBytes(LOF(2))
    Get #2, , imgBytes
    Close #2
    
    Dim myInk As New MSINKAUTLib.InkDisp


inkP.ink.DeleteStrokes

    inkP.InkEnabled = False

    Set inkP.ink = myInk
    
    inkP.ink.Load (imgBytes)
    
inkP.InkEnabled = True


    Dim recto As String
 Dim status As InkRecognitionStatus
    
    Dim recos As New InkRecognizers

    Dim reco As IInkRecognizer
    Dim conte1 As InkRecognizerContext
    Dim reso As IInkRecognitionResult


        Set conte1 = recos.Item(2).CreateRecognizerContext
            
            Set conte1.strokes = inkP.ink.strokes
            
            conte1.EndInkInput


  Set reso = conte1.Recognize(status)
        
  Set reco = conte1.recognizer
  MsgBoxW reco.Name
        
Set alts = reso.AlternatesFromSelection
For Each alt In alts
ResultString = ResultString + vbCr & alt.String
Next alt

 Dim status2 As InkRecognitionStatus
 
       MsgBox ResultString

End Sub