Excel 印刷範囲の設定について
Excelで「C2セルからN列の最終行までを印刷範囲に設定」という操作を自動化したいと考えています。
印刷範囲を設定するライブラリが見つからなかった為、
①印刷したい範囲を選択 ②エミュレーションで「Alt→P→R→S」のショートカットキーを押下
という操作で印刷範囲を設定しようと思ったのですが、最後の「S」が空振り?してしまうのか、うまくいきません。
↓の画面まではいくのですが、「印刷範囲の設定」が選択されずに、C2セルに「S」が入力されてしまいます。
最後のキーを「S」ではなく「Enter」に変えることも試してみましたが、印刷範囲の設定はできませんでした。
エミュレーションの操作は↓のように設定しています。(前後にも0.5秒の待機時間を入れています)
エミュレーションの設定に問題があるのでしょうか?
もしエミュレーション以外でも印刷範囲を設定する方法がありましたら、ぜひ教えてください。
よろしくお願いいたします。


S.N様
早速試してみました。とてもスムーズで素晴らしいです!
ユーザライブラリに追加して活用させていただきます。
ありがとうございます!
恐らくエミュレーションのウィンドウ識別名のところに操作対象のExcelを指定していると思います。
今回のような場合に表示されるExcel上のプルダウン(「印刷範囲の設定(S)」の部分)は
実は元のエクセルとは別のウィンドウと認識されております。
そのため、【ライブラリ>11_ウィンドウ関連>ウィンドウ前面化】でエクセルウィンドウを前面化後、
エミュレーションのウィンドウ識別名をスクリーンにしてキー操作を実行してください。
(キー操作中にExcelが最前面にあることが前提のため、ウィンドウ前面化を行うことを推奨します)
余談ですが、Excelをエミュレーションのキー操作で処理を行う場合には
キーボード操作の間に待機を入れる必要がない場合がございます。
処理速度を気にするようでしたら、待機時間を削除して実行を試してみてください。
また、似たような問題に回答してる方がいらっしゃるので
こちらの回答もぜひご確認ください。
参考

エミュレーションのウィンドウ識別名を「(スクリーン)」に変更したところ、上手くいきました!
そういうことだったのですね… 分かりやすいご説明ありがとうございました!
エミュレーション以外では、
Excel操作(範囲選択)のスクリプト部分を以下のように変えても設定できるかと思います。
変更部分)worksheet.range(range).Select
修正後)worksheet.PageSetup.PrintArea = range