ファイル/フォルダ新規作成 - OnIncludeObject 2017-08-10 (Thu) 00:19

任意のデフォルト名でファイル/フォルダを新規作成し、名前の変更状態にするスクリプト

FVの OnIncludeObjectを利用したバージョン

仕様はこれと同じ。 ファイル作成 - X-Finderスクリプト / フォルダ作成 - X-Finderスクリプト

名前ファイル新規作成
タイプJScript
オプション(function(){
var current = te.Ctrl(CTRL_FV).FolderItem.Path;
if(!fso.FolderExists(current)) return;

wsh.CurrentDirectory = current;
var defaultName = 'NewFile.txt';
var base = fso.GetBaseName(defaultName);
var ext = fso.GetExtensionName(defaultName);
for(var i = 1, wk = base; fso.FileExists(wk + '.' + ext); i++){
wk = base + ' (' + i.toString(10) + ')';
}
te.Ctrl(CTRL_FV).OnIncludeObject = function(Ctrl, Path1, Path2){
Ctrl.SelectItem(fso.BuildPath(Ctrl.FolderItem.Path, Path1), SVSI_EDIT|SVSI_DESELECTOTHERS);
Ctrl.OnIncludeObject = null;
}
CreateFile(wk + '.' + ext);
})()

名前フォルダ新規作成
タイプJScript
オプション(function(){
var current = te.Ctrl(CTRL_FV).FolderItem.Path;
if(!fso.FolderExists(current)) return;

wsh.CurrentDirectory = current;
var base = 'NewFolder';
for(var i = 1, wk = base; fso.FolderExists(wk); i++){
wk = base + ' (' + i.toString(10) + ')';
}
te.Ctrl(CTRL_FV).OnIncludeObject = function(Ctrl, Path1, Path2){
Ctrl.SelectItem(fso.BuildPath(Ctrl.FolderItem.Path, Path1), SVSI_EDIT|SVSI_DESELECTOTHERS);
Ctrl.OnIncludeObject = null;
}
CreateFolder(wk);
})()

標準方法での新規作成と比べてワンテンポ遅れる感じになるのは FVの更新間隔の絡みか?

他のアイディアがあるのでそのうちにやってみる。


@TE64 17.8.5 Win 6.1.7601 WS 300 Admin IE 11 ja_jp

FolderViewのOnIncludeObjectイベント 2017-08-02 (Wed) 21:56

FolderView(FV)のOnIncludeObjectイベントについて。

例えばアクティブタブで D:\Work を開いているときにスクラッチパッドでこんなコードを実行しておいて

te.Ctrl(CTRL_FV).OnIncludeObject = function(Ctrl, Path1, Path2){
  _m.i(Ctrl.FolderItem.Path + " に " + Path1 + " が作成されました");
  Ctrl.OnIncludeObject = null;
}

そのタブでファイルを新規作成すると、デバッグコンソールに

D:\Work に 新しいテキスト ドキュメント.txt が作成されました

と表示される。

FVにアイテム(ファイルやフォルダ)が追加されたときに呼び出されるようだ。

これを利用して任意の名前でファイル/フォルダの新規作成をするスクリプトを書く。


そのうちに。(´・ω・`)y-~~~

次ペインで開く 2017-07-19 (Wed) 00:16

画面が分割されているとき、アクティブタブで開いているパスを次のペインで開く
名前次ペインで開く
タイプJScript
オプション(function(){
if(!Addons.SwitchPane) return;
var folder = te.Ctrl(CTRL_FV).FolderItem.Path;
var FV = Addons.SwitchPane.NextFV(Ctrl);
if(!FV) return;
FV.Focus();
Exec(FV, folder, 'Open in New Tab', te.hwnd);
})();
要アドオン・次のペインに切り替える
・分割

@TE64 17.7.14 Win 6.1.7601 WS 300 Admin IE 11 ja_jp

重複タブを閉じる 2017-07-06 (Thu) 00:04

名前重複タブを閉じる
タイプJScript
オプションfor(var TC = te.Ctrl(CTRL_FV).Parent, i = TC.Count; --i >= 0;){
for(var j = i; --j >= 0;){
if(TC.Item(i).FolderItem.Path == TC.Item(j).FolderItem.Path){
TC.Item(i).Close();
break;
}
}
}

@TE64 17.7.2 Win 6.1.7601 WS 300 Admin IE 11 ja_jp

カラム幅自動調整 2017-06-12 (Mon) 23:07

カラムの幅を文字数に合わせて自動調整する

名前カラム幅自動調整
タイプJScript
オプション(function(){
var FV = te.Ctrl(CTRL_FV);
if(!FV.hwndList) return;
te.LockUpdate();
var head = api.SendMessage(FV.hwndList, LVM_GETHEADER, 0, 0);
var cnt = api.SendMessage(head, HDM_GETITEMCOUNT, 0, 0);
var item = api.Memory('HDITEM');
item.mask = HDI_WIDTH;
for(var i = 0; i < cnt; i++){
api.SendMessage(head, HDM_GETITEM, i, item);
api.SendMessage(FV.hwndList, LVM_SETCOLUMNWIDTH, i, -1);
}
te.UnlockUpdate();
})();

@TE64 17.6.10 Win 6.1.7601 WS 300 Admin IE 11 ja_jp
注意事項
基本的にこのブログはブログ主の備忘録です。

ブログの内容にはブログ主の主観や時には正確でない情報が含まれていることもあります。書いてある内容がすべての環境にあてはまることを保証するものでもありません。

また、過去の記事は現時点で既に陳腐化していることもあります。

その辺をご理解の上で当ブログ内に書いてあることを試す場合は自己責任でお願いします。

記事内容の誤りの指摘、疑問点の回答などコメント頂けると助かります。
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
ブログ内検索
カラーコードチェッカ
カラーコードの確認
入力例) #ffffff | blue
カテゴリ
最新記事
最新コメント
最新トラックバック
リンク
ブロとも申請フォーム

この人とブロともになる

メールフォーム

名前:
メール:
件名:
本文: