秀丸ファイラーClassicでフォトを開いた場No.11008
Oem さん 24/01/02 06:06
 
既にスレッドがあるのですが
>Windowsの標準エクスプローラであれば次画像へ遷移するのですが、秀丸ファイラの
>場合、次画像へ遷移できないようです。

秀丸ファイラーClassicでフォトを開いた場合のフォトのキーボードを矢印で次画像
へ遷移はないでしょうか。

[ ]
RE:11008 秀丸ファイラーClassicでフォトNo.11012
秀丸担当 さん 24/01/05 10:04
 
秀丸ファイラーClassicで、最近のWindows標準のフォトを開くと、確かに1つだけに
なって、フォルダ内の次画像を選べないようです。
昔のWindowsの画像ビューワーは特に何もせずできたのですが、最近のフォトででき
ないのは、なぜかは分かっていないです。
エクスプローラは何かしらの方法で複数のファイルにアクセスする方法でやりとりし
ているのだと思いますが、よくわかっていなくて、できたらしたいところです。


現状でなんとかする方法としては、複数選択して開く方法があります。
そのフォルダが画像だけであれば、Ctrl+Aなどで全て選択してから開きます。
画像だけでない場合、アドレスバーに*.jpg;*.pngなどと入力してフィルタリングす
る方法があります。
または、[編集(E)]→[検索して選択(E)...]で、*.jpg;*.pngなどを入力してフィルタ
リングせずに特定の拡張子だけ選ぶことができます。

もうちょっとやりやすくするには、一行のスクリプトを作るといいです。
ブックマークの追加で、以下の一行を、パスの部分に貼り付けます。

js:SelectItem("*.jpg;*.png",0x21);ContextMenu("open");SelectItem(-1);

ブックマーク(またはリンクバーなど)を選ぶと、複数選択して開きます。


------

ちなみにこれとは別の方法で、htmlを生成してブラウザで開くのを個人的に作ってい
たりします。
以下の内容を、どこか(例えばC:\Folder\Test.js)に保存し、ブックマークのパス
には、
js:C:\Folder\Test.js
といったように登録して実行します。

//秀丸ファイラーClassic用スクリプト
//MakeImageViewerHtml.js
//
//機能:
// 実行したフォルダにある画像ファイル一覧をWebブラウザでウィンドウいっぱい
に見れるhtmlを生成します。
// ファイルシステム上の内容/順ではなく、秀丸ファイラーClassic上で実際に表示
中の内容/ソート順で出力します。
if(version<186099){
  message("バージョンが古いです");
  endMacro();
}
var objFso = createObject("Scripting.FileSystemObject");
var strOut = [
    "<html><head></htad>",
    "<body topMargin='0' leftMargin='0'><center><img id='idImage' height='10
0%'/></center>",
    "<script>var a=["
].join("\r\n");
var iFocus = getNextItem(-1, 1);
selectItem("*.jpg;*.jpeg;*.png;*.gif;*.webp", 0x20);
var iItem = getNextItem(-1, 2);
while (iItem >= 0) {
    strOut += "'" + objFso.GetFileName(getItemPath(iItem)) + "',\r\n";
    iItem = getNextItem(iItem, 2);
}
selectItem(iFocus, 0);
strOut += [
    "];",
    "var i=0;",
    "var fBottom=0;",
    "document.onkeydown = function(){nextpage(event.keyCode)};",
    "document.onclick = function(){nextpage(0);};",
    "document.oncontextmenu = function(){nextpage(0x25);return false;};",
    "document.getElementById('idImage').src = encodeURI(a[0]);",
    "function nextpage(k) {",
    " if(k==0x27||k==0){",
    "  i ++;",
    "  if( i >= a.length ) i = 0;",
    "  document.getElementById('idImage').src = encodeURI(a[i]);",
    "  ",
    " } else if(k==0x25){",
    "  i --;",
    "  if( i < 0 ) i = a.length;",
    "  document.getElementById('idImage').src = encodeURI(a[i]);",
    " }",
    "}",
    "</script>",
    "</body>"
].join("\r\n");
var strHtml = getDirectory() + "\\_ImageViewerByHmFilerClassic.html";
var objHtml = objFso.OpenTextFile(strHtml, 2 //ForWriting
, 1 //create
, -1 //TristateTrue(Unicode)
);
objHtml.Write(strOut);
objHtml.Close();
//作ったらすぐ開く場合
var objShell = createObject("Shell.Application");
objShell.Open(strHtml);

[ ]