アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。

Book1~Book10.xlsx
ブラウザ
メディアプレイヤー
という12個のファイルを開いているとして

UWSCを使って
エクセルファイルのみを保存して閉じることは出来るのでしょうか?
(保存先はマイドキュメントで名称はそのままで保存したいです)

マウスとキーボード入力の動きを記録して
再生してみましたが上手くいきませんでした。
よろしくお願いいたします。

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!