ファイル/フォルダ新規作成 - 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-24 (Sat) 00:29

デバッグコンソールのコード実行は意外と便利だったんだけど、如何せん一行しか書けないので

Firefoxのスクラッチパッドみたく、複数行の JScriptのコードを手軽に実行できるようなアドオンを作ってみた。

◎機能(ボタン)の説明
+入力エリア追加
eJScriptのコード実行(キーボードのCtrl+EnterでもOK)
c入力エリアクリア
x入力エリア削除

本当は、入力エリアのタブ幅がデフォで8になっているところを4か2にして、入力エリアのサイズを可変にしたかったけど

IEのエンジンは、tab-sizeも resizeもサポートしてましぇーん。(´・ω・`)y-~~~

入力エリアはShift + ホイール上下で縦方向に伸縮できるようにしたけど、タブ幅をゴリゴリやるのは面倒そう。

CSSでやるのが簡単でスマートなのに。

ダウンロード

@TE64 17.6.10 Win 6.1.7601 WS 300 Admin IE 11 ja_jp


◎デバッグコンソールと併用した際の表示パターン例

ボトムバーに縦に並べて表示

レフトバーとボトムバーに表示

ボトムバーに横に並べて表示

レフトバーとライトバーに表示


◎アドオン作成時の私的メモ

htmlでUIを実装するタイプのアドオンでは、TEのシステムや他のアドオンとIDが被る可能性がありそうなので、

極力アドオン名を IDとしたもののみを使用し、UIの各オブジェクト(TAG)はIDの子孫の xx という形で扱うようにする。

どうしてもほかに IDを使う必要がある場合は アドオン名_xxxx のように命名する。

関連記事
注意事項
基本的にこのブログはブログ主の備忘録です。

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

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

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

記事内容の誤りの指摘、疑問点の回答などコメント頂けると助かります。
カレンダー
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
カテゴリ
最新記事
最新コメント
最新トラックバック
リンク
ブロとも申請フォーム

この人とブロともになる

メールフォーム

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