WSHでスクロールの制御をしたいと考えています。
いつも開いているフォルダがあるのですが、そのフォルダで利用するものは一番下の方にあるため、フォルダを開いてフォルダの一番下までスクロールするという動作を自動化したいと考えています。
取り敢えず、フォルダを開くところまでは、
var objWShell = new ActiveXObject("WScript.Shell")
objWShell.Run("H:\\")
として、出来るようになりました。
後は、End keyのような動作かスクロールさせる動作をさせたいのですが検索しても見つかりません。
どなたか宜しくお願いします。
No.2ベストアンサー
- 回答日時:
>WSHってWindowsしかないものと思ってました
ちょこっとすれ違いが! No1の回答者は、エクスプローラーでソートをデフォルトで設定しておけば、質問内容の事は ないよ。
と言っています。わざわざスクリプトで組むレベルではありません。と言う事です。それでOSを聞いています。WSHの動作環境を指していません。質問者が誤解するのも無理はなく、回答者が先に一言追加すれば済んだ事です。
>そのフォルダには、順次ファイルが最下部に追加されていくため
「順次ファイル」とは何の事でしょうか? 意味不明な呼び方ですね? それはそのように設定されているためです。デフォルトは追加されたファイルは表示上、最後に追加されてます。
そのフォルダー(ウインドウ)がアクティブな時に F5 キーを押せば設定されたソートでリストされます。
XPだと、エクスプローラー(マイコンピューターでもいい)一回「表示」メニューの「詳細」を選択してソートバーを出します。それで「更新日時」をクリックして「更新日時」をキーとした降順ソートにします。Vistaでもあまりやり方はかわりませんが、Vista移行だと自動種類機能により、拡張子で、ソートバーの項目が変わってきます。
この点からもOSが何であるか重要ですね。
なおこれを達成するには、エクスプローラーの「ツール」メニューの「フォルダーオプション」の「各フォルダーの表示設定を保存にする」が有効になっていないとだめです。これで、
>フォルダを開くと同時に最下部がでていると便利なんです。
が、達成されます。
あと、WSHのスクリプトですが、これもOSが何であるか重要です。他のOSと言う事でなくバージョンが重要です(Windows2000, XP, Vistaなど)。
>スクロールさせる動作をさせたいのですが
これは「WScript.Shell」のオブジェクトにはそんな機能ありません。出来るとしたら「Shell.Application」です。または「classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"」です。これらはシェルと言って、WindowsのGUIではエクスプローラーを指します。後述の物は、フォルダーのプロパティで表示をカスタマイズすると、実はOS自信も使っています。下記のURLがリファレンスサイトです。
http://msdn.microsoft.com/en-us/library/bb773177 …
http://msdn.microsoft.com/en-us/library/bb773938 …
可能性のあるやり方として、下記のURLのサンプルにあるようにWebコントロールとしてフォルダーを表示させると、スクロールのコントロールも可能です。サンプルを .hta ファイルとして保存してください。これ以外とだと、C++, C#, VBなどでコントロールするしかありません。
http://msdn.microsoft.com/en-us/library/bb774043 …
他には下記のように、右クリックメニューでソートをさせるやり方です。フォルダー内で右クリックで、出てくる項目をスクリプトレベルで行う方法です。
http://msdn.microsoft.com/en-us/library/bb774172 …
これらは"shell.application"でネット検索すれば沢山サンプルが見つかります。
この回答への補足
>「順次ファイル」とは何の事でしょうか? 意味不明な呼び方ですね?
「順次ファイルが最下部に追加されていくため、」というのは、「順次、ファイルが最下部に追加されていくため、」
順次:順々に、次々に、
という意味です。
「順次ファイル」というファイルがあるわけではないです。
>そのフォルダー(ウインドウ)がアクティブな時に F5 キーを押せば設定されたソートでリストされます。
そのソート操作が面倒なため、最初から、新しいファイルが追加される最下部に移動しておきたいと考えていたのです。
>「WScript.Shell」のオブジェクトにはそんな機能ありません。出来るとしたら「Shell.Application」です。
Shell.Applicationとshell.Shell_Applicationに関して、ScrollBarを操作できるオプションはないかとか、一番下のitemを選択したらスクロールも一番下に行くんじゃないかと思って、アイテムを選択するコマンドがないかとか思って色々検索したりしてみたんですが良い方法が見つかりませんでした。
>可能性のあるやり方として、下記のURLのサンプルにあるようにWebコントロールとしてフォルダーを表示させると、スクロールのコントロールも可能です。
これは、良い線行ったんですが、ウェブコントロールとしてフォルダを操作する場合、フォルダの機能全てを自分で作らないとまともに使えないようなので、残念ながらこれは断念しました。
>右クリックメニューでソート
ソートだけならこういう方法もあるのでしょうが今回の方向性とは違うので利用しませんでした。
色々調べたところ、UWSCというソフトでスクリプトを構成できるようなので、こちらでスクリプトを構成してやることにしました。
以下のように、RecordFolder.UWSというファイルを作成して、このファイルをUWSC.exeに関連付けしてやると、ダブルクリックするだけで、フォルダの一番下へ行けるようになりました。
////RecordFolder.UWS////
Exec("explorer.exe H:\");
folderRec=GETID("Record (H:)");
Ifb folderRec>=0 then
CTRLWIN(folderRec,ACTIVATE);
KBD(VK_END,CLICK);
endif
色々情報有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】フォルダを2つのモニターの定位置に並べたい 2 2022/09/02 01:14
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
- Excel(エクセル) 【VBA】ファイルパスに半角スペースが入ると、VBAが動かない 5 2022/08/04 20:52
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Excel(エクセル) 開いているフォルダを全て閉じる、マクロを教えて下さい 3 2022/08/28 08:42
- Chrome(クローム) Chrome 非表示のブックマーク 多量 下にスクロールするのに時間かかる 良い方法は 1 2023/01/16 23:34
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでフォームのListbo...
-
Excelでワードアートや図を常に...
-
リストビューをスクロールさせ...
-
PDFを(htmlのように)無限に縦...
-
Excelで一部分だけを常に表示さ...
-
画像とグラフの重ね合わせ
-
MFCでのスクロールバーの扱い
-
エクセルで行を固定しその下か...
-
マウスでコロコロしたいんですが…
-
ワードでHP作成中ですが流れ...
-
vb,netでtextboxの文字を右から...
-
ページ訪問時にiframe内を自動...
-
星の島のにゃんこなんですけど...
-
大きい表へのスクロールバーの...
-
検索履歴の語句を選んで削除したい
-
リストビューのスクロールバー...
-
メニューバーがついてくる仕組み
-
階層フレキシブル グリッド コ...
-
CTreeCtrlのHitTestメソッドに...
-
文章の自動スクロール
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
エクセルVBAでフォームのListbo...
-
PDFを(htmlのように)無限に縦...
-
リストビューをスクロールさせ...
-
Excelで1.2行目だけ固定して...
-
Excelで一部分だけを常に表示さ...
-
大きい表へのスクロールバーの...
-
Visual Basicから Spreadのスク...
-
vb,netでtextboxの文字を右から...
-
ページ訪問時にiframe内を自動...
-
アコーディオンで開かれたパネ...
-
マウスオーバー→ホイール回転で...
-
webページで横方向にアンカーを...
-
リストビューの水平スクロール...
-
ExcelVBAで他のアプリをスクロ...
-
IFRAMEでscrolling="yes|no"の...
-
リストビューのスクロールバー...
-
ページ読み込み時に自動でスク...
-
子要素のスクロールが親要素に...
-
Webサイト内でスクロールする小...
おすすめ情報