VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -