Hiko.Blog Excel VBA活用術

「Excel VBAで仕事を効率化!初心者でもできる自動化のコツ」

MENU

AutoFill Popup入力対応案

先生: 今日は、2つのコードを見てみような!まず1つ目は「AutoFillPopup」っていうコードやけど、これでやってることは、接続ポップアップを自動で操作して、ユーザー名やパスワードを入力して接続するっていうことやで。

生徒: へー、ポップアップを自動で操作するってことは、例えば名前やパスワードを手動で入れんでも、自動で入力してくれるってこと?

先生: その通り!まず最初に「SendKeys」っていう命令を使って、ユーザー名を入力するんや。次に、Tabキーを押してパスワード欄に移動して、また「SendKeys」でパスワードを入力するんやで。

生徒: なるほどー!それで、Tabキーで接続ボタンに移動して、最後にEnterキーで接続するんやな。

先生: その通りや!これでポップアップの操作が全部自動でできるってわけやで。


先生: 次に、2つ目のコードは「ConnectToAccessDatabase」って言って、これは実際にAccessデータベースに接続するためのコードやな。

生徒: え?Accessってなんなん?

先生: Accessは、データベースを作って管理できるソフトウェアやで。これで、たくさんのデータを整理したり、検索したりできるんや。さて、このコードでは、Accessのデータベースに接続するための準備をしているんや。

生徒: どうやって接続するん?

先生: まず、データベースの場所(パス)を指定するんや。「dbPath」っていう変数に、データベースの場所を入れるんやで。次に、「connStr」っていうのを使って、データベースとつながるための情報をまとめるんや。

生徒: それで、接続するにはどうするん?

先生: その後、「ADODB.Connection」っていうものを使って、実際にデータベースに接続するんや。「conn.Open connStr」って命令で接続して、その後はデータを使ったりするんやで。

生徒: もしエラーが出たらどうするん?

先生: いい質問やな!エラーが出たときには、「On Error GoTo ErrorHandler」って命令でエラーハンドリングをしてるんや。エラーがあったら、エラーメッセージを表示して接続を閉じるようになってるんやで。

生徒: あー、もし問題があったときはメッセージが出るんやな。

先生: その通りや!これで、Accessのデータベースと安全に接続できるようになるんや。

生徒: わかった!自動でポップアップ操作して、データベースに接続できるってことやね。ありがとう、先生!

先生: よく理解できたな!また何か質問があったら、いつでも聞いてな!

 
 
Sub AutoFillPopup()

    ' 接続処理を開始
    ' (例:Accessデータベース接続の処理がここに入ります)
    
    ' 接続ポップアップが表示されるタイミングで、以下のコードで入力を自動でシミュレート
    ' ここではユーザー名、パスワード、接続ボタンをシミュレートします
    
    ' ユーザー名入力 (例: "myusername")
    SendKeys "myusername", True
    ' Tabキーでパスワード欄に移動
    SendKeys "{TAB}", True
    ' パスワード入力 (例: "mypassword")
    SendKeys "mypassword", True
    ' Tabキーで接続ボタンに移動
    SendKeys "{TAB}", True
    ' Enterキーで接続ボタンを押す
    SendKeys "{ENTER}", True
End Sub

 

 

Sub ConnectToAccessDatabase()
    Dim conn As Object
    Dim connStr As String
    Dim dbPath As String

    ' アクセスデータベースファイルのパスを指定
    dbPath = "C:\path\to\your\access\database.accdb" ' ここにあなたのAccessデータベースのパスを設定

    ' 接続文字列を組み立て(Access用)
    connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath & ";"

    ' ユーザー名とパスワード(接続文字列内に含める)
    ' connStr = connStr & "User ID=myusername;Password=mypassword;" ' 必要な場合

    ' ADODB.Connectionオブジェクトを作成して接続
    Set conn = CreateObject("ADODB.Connection")
    
    On Error GoTo ErrorHandler
    
    ' 接続を開く
    conn.Open connStr ' Accessデータベースに接続

    ' その他の処理(クエリ実行など)

    ' 接続を閉じる
    conn.Close
    Set conn = Nothing
    Exit Sub

ErrorHandler:
    MsgBox "Error: " & Err.Description, vbCritical
    Set conn = Nothing
End Sub