複数のアカウントで同じ作業を繰り返す

   

マクロを無限ループ化するページで同じ処理を複数のアカウントに対して行いたいとの質問をコメントで頂いたので回答します。

条件

頂いた質問は以下のとおりです。

複数のIDで同じ作業を繰り返すにはどうすればいいですか。
アカウントAでログイン→ループさせたいマクロ→ログアウト
アカウントBでログイン→ループさせたいマクロ→ログアウト
アカウントCでログイン→ループさせたいマクロ→ログアウト
といった具合です。

サンプルコードは以下の通り

  • IDとパスワードを使用する
  • A→B→C→A→B...と無限ループさせる
  • ESC入力でマクロが止まる

サンプルコード

丸ごとコピペしてテストしてください。

dim id[] = "A", "B", "C"
dim pw[] = "AAA", "BBB", "CCC"

while !(getkeystate(vk_esc))
	for i = 0 to length(id) - 1
		msgbox("ID:" + id[i] + " PASS:" + pw[i])
	next
wend

パーツごとの解説

dim id[] = "A", "B", "C"
dim pw[] = "AAA", "BBB", "CCC"

配列id,pwにそれぞれIDとパスワードを入れます。他に必要な要素があったら全部配列に入れましょう。
id[0]にはA、id[1]にはB、id[2]にはCが入ります。カウントは1からでなく0からなので注意してください。

while !(getkeystate(vk_esc))
wend

ESCキーが押されたときを終了条件にしてループ化します。
終了キーを変えたいときはVK_ESCを別の仮想キーコードに変更してください。
終了キーを設定したくないときはwhile trueに変更してください

for i = 0 to length(id) - 1
	msgbox("ID:" + id[i] + " PASS:" + pw[i]) //ログインからログアウトまでの処理をここに入れる
next

ID配列に入っている要素の数、つまりアカウントの数だけ処理をループさせています。
forの詳細は条件により処理を繰り返すfor文の使い方とサンプルコードを確認してください。

ログイン処理のID/PASSWORDはid[i] pw[i]を使用することで同じコードでクリアできます。
実際に各アカウント内で動作させたい処理やログアウト処理はもともと共通のコードだと思うので普通に書いてください。

「もっと詳しく!」「こうできないの?」この記事に関連する質問や要望があればコメントで聞こう。

 - TIPS , , , ,