スポンサーリンク

AccessとPower Automateの意外な連携術|クラウド連携で業務自動化を一歩前へ

スポンサーリンク
Access
スポンサーリンク

こんにちは、なかぜんです。

「Accessはローカルだけのツール」「Power Automateはクラウド専用」――そんなイメージ、ありませんか?

実はこの2つ、うまく組み合わせればクラウド経由でAccessから通知や外部サービス連携ができてしまうんです。

今回は、上級者のあなたに向けて、AccessからPower Automateを呼び出す方法を、VBAコード付きでご紹介します。

スポンサーリンク

Access×Power Automateでできること

たとえば、こんな自動化が可能に!

  • Accessからフローを呼び出してメールやTeamsに通知
  • クラウドにあるExcelファイルを操作
  • SharePointやOneDriveへのファイルアップロード

つまり、Accessのボタン一つで、社内外の連携処理を一気に自動化できるんです。

準備:Power AutomateのHTTPフロー作成

1. HTTPトリガーでフローを作成

Power Automateで「HTTP要求の受信時」をトリガーに選びます。

次に、例えば「Teams通知」を行うアクションを追加してみましょう。以下のような流れになります:

  1. トリガー:HTTP要求の受信時
  2. アクション:Teamsに投稿 or メール送信

トリガーを保存すると、URLが生成されます(後ほどVBAで使います)。

AccessからVBAでフローを呼び出す方法

2. VBAでHTTP POSTを送信

AccessのVBAで以下のように記述することで、Power Automateのフローを呼び出せます。

' Power AutomateのHTTPエンドポイント
Const FLOW_URL As String = "https://prod-00.westus.logic.azure.com:...."

Sub 呼び出しフロー()

    Dim http As Object
    Dim jsonBody As String

    ' JSONで送信するデータ(任意)
    jsonBody = "{""message"":""Accessから通知が来たよ""}"

    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "POST", FLOW_URL, False
    http.setRequestHeader "Content-Type", "application/json"
    http.Send jsonBody

    If http.Status = 200 Then
        MsgBox "フローを正常に呼び出しました", vbInformation
    Else
        MsgBox "エラー:" & http.Status & vbCrLf & http.responseText, vbCritical
    End If

End Sub

3. フォームのボタンに割り当てる

フォームにボタンを配置し、呼び出しフロープロシージャをOnClickイベントに割り当てれば、Accessから1クリックでPower Automateが動きます!

注意点とよくあるミス

  • HTTPフローのURLは非公開に! ⇒ 第三者が知ると悪用されるリスクがあります。
  • 送信形式はJSONが基本 ⇒ フロー側の構造に合わせて設計しましょう。
  • セキュリティ設定に注意 ⇒ テナントやネットワーク制限で弾かれる場合も。

応用ポイント:こんな使い方もできる!

① フォルダ内のPDFをTeams通知で共有

Accessでファイル生成後、自動でTeamsに通知。ファイルパスをPower Automateに渡してOneDriveにアップも可能。

② 異常検知アラートの自動通知

Access側で在庫や売上などの異常値を検知し、リアルタイムにメール通知を送る処理も簡単に構築できます。

③ 入力データをSharePointリストに自動追加

クラウド連携の肝とも言える連携。Accessのフォームで入力 → Power Automate経由でSharePointにデータ反映。

まとめ:Accessの可能性をクラウドで広げよう

Accessは単体でも強力なツールですが、Power Automateと組み合わせることで、通知・ファイル操作・データ共有など、従来は難しかった処理が驚くほど簡単に実現できます。

今回ご紹介したのは「HTTPリクエストによる連携」ですが、逆にPower AutomateからAccessを起動する構成も可能です(これはまた別の記事で!)。

ぜひあなたの現場でも「クラウド連携の第一歩」として、このテクニックを取り入れてみてくださいね。

それではまた、なかぜんでした。