投稿日 | : 2003/05/16(Fri) 05:45 |
投稿者 | : おじん |
URL | : |
タイトル | : オートメーションエラーって何でしょう? |
MsimeTypeLibraryを使ってRichTextBoxに貼り付けた漢字混じりの文章の
任意の個所(文字列)をマウスでドラッグし、MouseUpしたところで
「ひらがな変換」し「文字列」と「読み」をひらっていくことをやりたい。
主要なソースは以下のとおりですが、この操作数回繰り返すと
自前の「エラー(on error goto〜)」にかかり、
「この機能を利用するにはMS_IME98が必要です。
オートメーションエラーです」とmsgされます。一度エラーになると以降は
「re_run(stop→test_run)」したのでは解決しません。vbを中断し
再度立ち上げないとだめです。
因みに、環境はwin98se、vb6(sp5)です。
よろしくお願いいたします。
Private Sub rtbBuffer_MouseUp( _
Button As Integer, Shift As Integer, _
X As Single, Y As Single)
'
selPos = rtbBuffer.SelStart '
selLen = rtbBuffer.SelLength
selTxt = rtbBuffer.SelText '選択された文字
txtYomi = ""
If selTxt = "" Then Exit Sub '空白文字
If Len(selTxt) > 20 Then
MsgBox "20文字以下を指定してください"
Exit Sub
End If
Call VBCRLF_del '改行コード削除 自前サブ 非添付
Call NonKanji_del '非漢字削除 自前サブ 非添付
txtYomi = Phonetic(selTxt) <<<=====問題のメイン
rtbBuffer.SelColor = vbRed '色を付ける
stbMemo.Panels(3) = "ひらがな文字をセットしてください"
cmdOK.Enabled = True
End Sub
Private Function Phonetic(pTxt) As String
'ふりかな取得
Dim IME98 As New MSIMEJPN
Dim MyIME As IFELanguage
On Error GoTo ErrorTrap
'変換
Set MyIME = IME98
MyIME.Open
Phonetic = MyIME.GetPhonetic(pTxt)
MyIME.Close
Set MyIME = Nothing
Exit Function
ErrorTrap:
Call MsgBox("この機能を利用するにはMS-IME98が必要です" _
& vbCrLf & Err.Description, _
vbExclamation)
Set MyIME = Nothing
End Function