0
に
を送信し、私は次のことを行いPowerShellでスクリプトを記述したいと思います:PowerShellはキーエクセル
- は、Excelワークブックを開きます。
- 表示される2つのダイアログボックスに2回クリックします。
- マクロを実行し、ブックを保存して終了します。
2番目の手順に問題があります。私のスクリプトでは、Powershellウィンドウにenterが送信され、コードに2行追加されています。
誰でもお手伝いできますか?ここに私のコードです:
$p1 = "C:\"
$eo = new-object -comobject excel.application;
$eoc = dir $p1 -Include *.xlsm -Recurse
Foreach ($f1 in $eoc)
{
$wb = $eo.workbooks.open($f1.fullname)
while (!$eo.Ready){sleep 0.1}
$eo.Application.SendKeys('~')
while (!$eo.Ready){sleep 0.1}
$eo.Application.SendKeys('~');
$eo.Run("macro_name");
$eo.Application.CalculateFull;
while (!$eo.Ready){sleep 0.1};
$wb.save(); $wb.close()
}
$eo.quit()
通常、Sendkeys()はフォーカスやタイミングのために失敗します。 _AppActivate Method_のGoogle – JosefZ