- 締切済み
UWSCでエクセルファイルのみを保存したいのですが
こんにちは。 Book1~Book10.xlsx ブラウザ メディアプレイヤー という12個のファイルを開いているとして UWSCを使って エクセルファイルのみを保存して閉じることは出来るのでしょうか? (保存先はマイドキュメントで名称はそのままで保存したいです) マウスとキーボード入力の動きを記録して 再生してみましたが上手くいきませんでした。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- neKo_deux
- ベストアンサー率44% (5541/12319)
例えば、 Procedure Exce保存して閉じる() Dim wnd, fname While True // ループ wnd = GETID("Excel", "XLMAIN") // Excelウィンドウ探す if wnd=-1 then break // 見つからなかったらループ抜ける CTRLWIN(wnd, ACTIVATE) // アクティブ化 KBD(VK_ALT, DOWN, 500) // ALT押す KBD(VK_F, CLICK, 500) // F ファイルメニュー KBD(VK_A, CLICK, 500) // A 名前を付けて保存 KBD(VK_ALT, UP, 1000) // ALT離す // 名前を付けて保存ウィンドウで、ファイル名が選択されてる KBD(VK_CTRL, DOWN, 2000) // CTRL押す KBD(VK_C, CLICK, 500) // C コピー KBD(VK_CTRL, UP, 500) // CTRL離す fname = "C:\Users\harpy66\Documents\" + GETSTR(0) // マイドキュメントへのパス+クリップボードのファイル名 SENDSTR(0, fname) // 保存ファイル名をクリップボードへ格納 KBD(VK_CTRL, DOWN, 500) // CTRL押す KBD(VK_V, CLICK, 500) // V 貼り付け KBD(VK_CTRL, UP, 500) // CTRL離す KBD(VK_ALT, DOWN, 500) // ALT押す KBD(VK_S, CLICK, 1000) // S 保存ボタン 上書き確認されたら? KBD(VK_ALT, UP, 500) // ALT離す KBD(VK_ALT, DOWN, 500) // ALT押す KBD(VK_F, CLICK, 500) // F ファイル KBD(VK_C, CLICK, 1000) // C 閉じる KBD(VK_ALT, UP, 500) // ALT離す if STATUS(wnd, ST_TITLE)="Microsoft Excel" then // 全ウィンドウ閉じてる? CTRLWIN(wnd, CLOSE) // Excel閉じる endif Wend Exit Fend 【ユーザー名】の部分を質問者さんのPCでのマイドキュメントに変更してください。 保存する時に既にファイルがあって、上書き確認のダイアログが出たら、どうなるか分かりません。 必要なファイル(PC全体で)のバックアップを行なっておいてください。 クリップボードを使うあたりは不安定ですから、Excelのマクロと組み合わせた方が安全・安定・確実で、上書き時の対応も容易だし、処理も早いと思いますが…。