'========================================================================================= ' 377 コンボボックスでIMEを起動する '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) ' UserForm1にもコードがあり、標準モジュールのコードと連係して動作します '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Public タイトル As String Public スタイル As Long Public メッセージ As String Public 応答 As Variant '========================================================================================= Private Sub ユーザーフォームを表示する() '★★★ UserForm1.Show End Sub '========================================================================================= '----------------------------------------------------------------------------------------- Sub おためしマクロ() おためしメッセージを表示する ユーザーフォームを表示する '★★★ End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() Worksheets("Title").Select Range("P17").Select 'カーソルを定位置へ移動する タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 64 'vbInformation メッセージ = "コンボボックスがフォーカスを取得したときの" & Chr(13) & Chr(13) & _ "IMEの実行時モードを、「全角ひらがなモード」に設定して" & Chr(13) & Chr(13) & _ "ユーザーフォームを表示します" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '----------------------------------------------------------------------------------------- '========================================================================================= ' ◆UserForm1のコード◆ '----------------------------------------------------------------------------------------- Private Sub UserForm_Initialize() 'ユーザーフォームを初期化する ComboBox1.IMEMode = fmIMEModeHiragana 'IMEを全角ひらがなモードでオンにする End Sub '----------------------------------------------------------------------------------------- Private Sub ComboBox1_Change() Worksheets("Title").Range("E10").Value = ComboBox1.Text '選択結果をセルにセットする End Sub '----------------------------------------------------------------------------------------- Private Sub CommandButton1_Click() If ComboBox1.MatchFound Then '一致する項目がリストの中にあれば Unload Me 'ユーザーフォームを閉じる Else 'なければ メッセージ = "みつかりません、やり直してください" 応答 = MsgBox(メッセージ, スタイル, タイトル) End If End Sub '=========================================================================================