• 締切済み

UWSCでエクセルファイルのみを保存したいのですが

こんにちは。 Book1~Book10.xlsx ブラウザ メディアプレイヤー という12個のファイルを開いているとして UWSCを使って エクセルファイルのみを保存して閉じることは出来るのでしょうか? (保存先はマイドキュメントで名称はそのままで保存したいです) マウスとキーボード入力の動きを記録して 再生してみましたが上手くいきませんでした。 よろしくお願いいたします。

みんなの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

例えば、 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のマクロと組み合わせた方が安全・安定・確実で、上書き時の対応も容易だし、処理も早いと思いますが…。

関連するQ&A

専門家に質問してみよう