\

PythonとVBA UserFormを連携させる方法について説明します。PythonからExcel VBAマクロを呼び出すためには、xlwingsというライブラリが便利です。また、PyAutoGUIを使用して、VBA UserFormのGUIテストを自動化することも可能です。

xlwingsを使ったPythonからExcel VBAマクロの呼び出し

まずは、PythonからExcel VBAマクロを呼び出す基本的な手順について説明します。

import xlwings as xw

# ブックを開く
wb = xw.Book('VBA_example.xlsm')

# マクロを取得
macro = wb.macro('hello_VBA')

# マクロを実行
macro()

このコードでは、まずxlwingsライブラリをインポートしています。次に、xw.Book関数を使用してExcelブックを開きます。その後、wb.macro関数を使用してマクロを取得し、最後に取得したマクロを実行します。

PyAutoGUIを使ったVBA UserFormのGUIテストの自動化

次に、PyAutoGUIを使用してVBA UserFormのGUIテストを自動化する方法について説明します。

import pyautogui as pg
import pyperclip

# 左上をクリックしてウインドウをアクティブに
pg.click(1, 1, pause=2.0)

# フォームを開く
btn_show_form = (674, 265)
pg.click(btn_show_form, pause=1.0)

# 名前を入力
txt_name = (947,391)
pg.click(txt_name, pause=1.0)
pyperclip.copy('名前')
pg.hotkey('ctrl', 'v')

# 男性ボタンをクリック
opt_men = (915, 446)
pg.click(opt_men, pause=1.0)

# 年齢を選択
cmb_age = (915, 547)
pg.click(cmb_age, pause=1.0)
pg.press('down')

# チェックボックスをクリック
chk_1 = (844, 600)
pg.click(chk_1, pause=1.0)
chk_2 = (844, 630)
pg.click(chk_2, pause=1.0)

# OKボタンをクリックする
btn_ok = (1040,677)
pg.click(btn_ok, pause=1.0)

# 終了を知らせる
pg.alert('終了しました')

このコードでは、まずpyautoguipyperclipライブラリをインポートしています。次に、各種操作(フォームの開き、テキストの入力、ボタンのクリックなど)を行うための座標を指定し、それらの操作を実行しています。

以上がPythonとVBA UserFormを連携させる基本的な方法です。これらのライブラリを活用することで、PythonからExcel VBAマクロを呼び出したり、VBA UserFormのGUIテストを自動化したりすることが可能になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です