【VBA編】メイン画面の作成
メイン画面の作成
メイン画面を下記のように作成します。
シート名は「ws_Main」としておきます。
また、「G」という名前で標準モジュールを作成しておきましょう。
ここにはグローバルで使用する定数や変数をまとめておきます。
定数の宣言
パスを格納するセルのアドレスを定数として宣言します。
'[G - 標準モジュール] Option Explicit Public Const RNG_TRAIN_DATA_PATH As String = "C2" '訓練データのパスを格納するセル Public Const RNG_TEST_DATA_PATH As String = "C3" 'テストデータのパスを格納するセル
データの選択
訓練データとテストデータのファイルを選択する処理を作ります。
「C2」セルか「C3」セルをダブルクリックするとファイル選択ダイアログが表示されるようにします。
ファイル選択ダイアログでファイルを選択すると、ダブルクリックしたセルにパスが表示されます。
ダブルクリック時の処理なので「ws_Main」シートの「Worksheet_BeforeDoubleClick()」プロシージャに記述します。
'[ws_Main - シートオブジェクト] Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim filePath As String If Target = Range(G.RNG_TRAIN_DATA_PATH) _ Or Target = Range(G.RNG_TEST_DATA_PATH) Then Cancel = True filePath = Application.GetOpenFilename("CSV ファイル,*.csv") If filePath <> "False" Then Target.Value = filePath End If End If End Sub
コードが書けたら正しく動作するか確認しておきましょう。
データのダウンロード先を再掲しておきます。
訓練用データ:https://1drv.ms/u/s!Akn_IZSOKLJ-1gKVR6dEZOntRsIh
テストデータ:https://1drv.ms/u/s!Akn_IZSOKLJ-1gHgfYyKccBTvuTX
(webで表示すると1行目が文字化けしてますが、ダウンロードすると正常に表示されます(Shift-JIS))