Page 69 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼連続閲覧する方法はありませんか? マチャプチャレ 15/05/20(水) 12:54 ┣Re(1):連続閲覧する方法はありませんか? mirror 15/05/20(水) 14:59 ┃ ┗Re(2):連続閲覧する方法はありませんか? マチャプチャレ 15/05/20(水) 22:55 ┃ ┗Re(3):連続閲覧する方法はありませんか? mirror 15/05/21(木) 8:23 ┃ ┗Re(4):連続閲覧する方法はありませんか? マチャプチャレ 15/05/21(木) 12:56 ┣Re(1):連続閲覧する方法はありませんか? John 15/05/20(水) 15:33 ┃ ┗Re(2):連続閲覧する方法はありませんか? マチャプチャレ 15/05/20(水) 23:01 ┣Re(1):連続閲覧する方法はありませんか? kojima 15/05/20(水) 16:44 ┃ ┗Re(2):連続閲覧する方法はありませんか? マチャプチャレ 15/05/20(水) 23:12 ┃ ┣二行記述のバッチファイルで可能でした。 kojima 15/05/21(木) 9:18 ┃ ┃ ┗Re(1):二行記述のバッチファイルで可能でした。 mirror 15/05/21(木) 10:22 ┃ ┃ ┗Re(2):二行記述のバッチファイルで可能でした。 マチャプチャレ 15/05/21(木) 13:00 ┃ ┃ ┗ファイル名置換の処理 mirror 15/05/21(木) 14:15 ┃ ┃ ┣Re(1):ファイル名置換の処理 マチャプチャレ 15/05/21(木) 22:07 ┃ ┃ ┣ファイル名のソートが必要な場合 mirror 15/06/26(金) 9:50 ┃ ┃ ┗Re(1):ファイル名置換の処理 いっち 15/06/29(月) 8:03 ┃ ┃ ┣""で括ればOK kojima 15/06/29(月) 9:42 ┃ ┃ ┃ ┗Re(1):""で括ればOK いっち 15/06/29(月) 10:01 ┃ ┃ ┗Re(2):ファイル名置換の処理 mirror 15/06/29(月) 10:25 ┃ ┃ ┗Re(3):ファイル名置換の処理 いっち 15/06/29(月) 10:52 ┃ ┃ ┗UWSCで終了せずに進む戻る マチャプチャレ 15/07/01(水) 22:37 ┃ ┃ ┣Re(1):UWSCで終了せずに進む戻る いっち 15/07/02(木) 11:08 ┃ ┃ ┃ ┗Re(2):UWSCで終了せずに進む戻る マチャプチャレ 15/07/02(木) 12:55 ┃ ┃ ┣Re(1):UWSCで終了せずに進む戻る mirror 15/07/02(木) 17:23 ┃ ┃ ┃ ┗Re(2):UWSCで終了せずに進む戻る マチャプチャレ 15/07/02(木) 23:02 ┃ ┃ ┗Re(1):UWSCで終了せずに進む戻る LA 15/07/06(月) 16:21 ┃ ┃ ┗Re(2):UWSCで終了せずに進む戻る マチャプチャレ 15/07/06(月) 23:14 ┃ ┗Re(3):連続閲覧する方法はありませんか? いっち 15/07/06(月) 10:03 ┃ ┣Re(4):連続閲覧する方法はありませんか? マチャプチャレ 15/07/06(月) 12:51 ┃ ┗Re(4):連続閲覧する方法はありませんか? LA 15/07/06(月) 13:30 ┃ ┗Re(5):連続閲覧する方法はありませんか? いっち 15/07/06(月) 14:09 ┗とりあえずの解決策(自己レス) マチャプチャレ 15/07/06(月) 23:49 ┗ホットキーの設定 マチャプチャレ 15/07/08(水) 4:00 ┣Re(1):ホットキーの設定 いっち 15/07/08(水) 7:54 ┃ ┗Re(2):ホットキーの設定 マチャプチャレ 15/07/08(水) 12:39 ┗Re(1):ホットキーの設定 mirror 15/07/08(水) 9:39 ┗Re(2):ホットキーの設定 マチャプチャレ 15/07/08(水) 12:49 ─────────────────────────────────────── ■題名 : 連続閲覧する方法はありませんか? ■名前 : マチャプチャレ ■日付 : 15/05/20(水) 12:54 -------------------------------------------------------------------------
JWWファイルの一括修正をよく行うのですが、念のため修正結果を目で確認しています。 特定のフォルダ内のJWWファイルを次々と連続して全画面表示する方法があれば作業が楽になるのですが何か方法はありませんか? ご存知の方がいらっしゃいましたらご教授ください。 |
▼マチャプチャレさん: batファイルでできます 但し、batファイルそのものの記述は簡単ですが batファイルに記載する、ファイル名を拾うのが手間です 同一フォルダーに、例えば300ファイルあると300行必要になります 画面は前回終了状態で開くので、最大にして閉じれば次は最大で開きます http://1drv.ms/1cOqXB8 サンプルの操作は、先程実装した機能なので未公開機能です batファイルを、手作業で作成してもできますが フォルダー内のファイルの最大数がどのくらいかによります |
▼mirrorさん: コメントをありがとうございます。 >batファイルでできます 試してみました。チェックの終わったファイルを閉じるだけで次のファイルが開いてなかなかいい感じですね。上手な人がバッチファイル書けば快適に運用できるかな?検討してみます。 >http://1drv.ms/1cOqXB8 >サンプルの操作は、先程実装した機能なので未公開機能です 動画、あまりよく分かりませんでした。ごめんなさい。 |
▼マチャプチャレさん: スレ主の用途として、発注業務の図名チェックや小修正を考えました 対象ファイルが100〜であれば、ファイル名を拾うのが大変ですので 閲覧用のbatファイルを、ツールで自動作成できるのか試しただけです サンプルは ツールで、該当フォルダーにjwwlist.batファイルを作成し それを実行して、ファイルを順次開く作業を行っています 手作業で、ファイル名が拾える程度のファイル数であれば 特に、ツールを使用する必要はありません Jw_cadのファイル一覧を使う場合 一般的には、1×1でウインドウサイズを大きくしてホイールでアクセスします 但し、部分的な拡大・縮小がホイールで出来なくなり作業性が悪くなるのと 次のファイルにも、現在の拡大率が適用されるのが面倒な場合があります 私は、Jw_cadのファイル一覧でチェック・修正していましたが よく考えれば、他者が同じように使えるとは限らない場合もあります それなら、該当のデータフォルダにbatファイルを作成して入れておき 次の決裁者に、batファイルを実行して開くように伝えればよくなります |
▼mirrorさん: 用途は自作コンバータ(某メーカのCADが出力した230形式のJWWを420形式にして線色や線太さをレイヤ名などに応じて修正するもの)の出力を数百枚単位でチェックする用なんです。時間でいうと1枚あたり2秒くらいでしょうか。 いろいろと考えてくださってありがとうございました。 |
「ファイル」>「開く」で表示ウィンドウの数を「2x2」とか「3x3」にすればどうでしょうか。 拡大縮小もその窓のままそれぞれ出来ますし、修正が必要であればそのままダブルクリックで開けます。 |
▼Johnさん: コメントありがとうございます。 >「ファイル」>「開く」で表示ウィンドウの数を「2x2」とか「3x3」にすればどうでしょうか。 >拡大縮小もその窓のままそれぞれ出来ますし、修正が必要であればそのままダブルクリックで開けます。 試してみました。 ウィンドウを「1x1」にしてマウスのホイールで操作すると次々をファイルを表示できて考えていたイメージに近いです。図面枠の線の太さとかもチェックしたいのですがそれは残念ながら難しいみたいですね。 |
▼マチャプチャレさん: >JWWファイルの一括修正をよく行うのですが、念のため修正結果を目で確認しています。 > >特定のフォルダ内のJWWファイルを次々と連続して全画面表示する方法があれば作業が楽になるのですが何か方法はありませんか? > >ご存知の方がいらっしゃいましたらご教授ください。 バッチファイルのあるフォルダ内のJWWファイルを順に開く外部変形です。 バッチファイルにRubyスクリプトを記述する形式です。 尚、この外部変形の実行には、RubyとAutoITのインストールが必要です。 AutoITの入手先 http://blog.livedoor.jp/blackcode/archives/1224220.html 最初のファイルは自動的に開きますが、次のファイルは、前のファイルが 閉じられてから開きます。 ファイルを閉じる作業はユーザー自身が行う必要があります。 (確認に必要な時間が想定できない為) @@REM バッチファイルのあるフォルダ内のJWWファイルを順に開く @echo off REM #jww REM #cd REM #e ruby -x %~f0 pause exit #!ruby -Ks require 'win32ole' itx=WIN32OLE.new("AutoITX3.Control") path=Dir.pwd file_a=Dir.entries(path) file_a.each{|item| if item =~ /\.jww$/i printf("%sを開いています\n",item) itx.Run("c:\\jww\\jw_win #{path}\\#{item}") itx.WinWaitActive item sleep 2 itx.WinWaitclose item end } |
▼kojimaさん: またコメント頂いてありがとうございます。 >バッチファイルのあるフォルダ内のJWWファイルを順に開く外部変形です。 >バッチファイルにRubyスクリプトを記述する形式です。 試してみましたが、僕には難し過ぎてうまく動いてくれませんでした(涙) わざわざスクリプトを書いて頂いたのに活かせず申し訳ありません。 こうやって試しているうちにだんだん完成イメージ(妄想?)が変わってきて、OpenGLとかでアンチエイリアスの効いたビュワーが欲しくなってしまいました(汗) |
たった二行記述のバッチファイルで可能でした。 (.jwwがJW_WINに関連付け済の場合) RubyもAutoITも不要です。 拍子抜けです。 dir/b *.jww>jww_read.bat jww_read.bat |
▼kojimaさん: 何もいらずに、簡単でしたね DOSの時代にはあれだけ世話になったのに コマンドプロンプトの使い方を忘れていました 後は、ファイル名に使えない文字の処理ですね |
▼kojimaさん: 美しい解決案をありがとうございます。 当面これでやってみようと思います。 ▼mirrorさん: >後は、ファイル名に使えない文字の処理ですね ああ、そういうのがたくさんあるんですよねー(汗) |
▼マチャプチャレさん: 何処のコンサルとは言いませんが ファイル名などに、スペースが含まれているものは良くあります ファイル名に含まれるスペース(半角・全角)をアンダースコアに置換後 jwwlist.batを作成し、実行するようにしてみました for %%f in (*.jww) do call :sub1 "%%f" dir/b *.jww>jwwlist.bat jwwlist.bat :sub1 set fname=%1 set fname=%fname: =_% set fname=%fname: =__% ren %1 %fname% ひとつのsub内で複数の文字置換が可能でしたので、再投稿です batで、実行できない文字は他にもあるかも知れません |
▼mirrorさん: 丸の中に数字が入った文字や^や漢字、びっくりするような文字をファイル名に使って来る人がいるんです。どうにもならない文字もあるかもしれませんね。 実際に困ってから対処したいと思います←おい! その時の参考に使わせて頂きますね。 ありがとうございました。 |
Windowsの仕様で ファイル名の抽出結果が、ソートされていない環境がありました 連番などのファイル名で運用している場合には、扱い難くなりますので dirコマンドに、ソートオプションを付けて実行すると良いかも知れません ×:dir/b *.jww>jwwlist.bat ○:dir/b /o *.jww>jwwlist.bat ------------------ for %%f in (*.jww) do call :sub1 "%%f" dir/b /o *.jww>jwwlist.bat jwwlist.bat :sub1 set fname=%1 set fname=%fname: =_% set fname=%fname: =__% ren %1 %fname% ------------------ |
▼mirrorさん: > ファイル名などに、スペースが含まれているものは良くあります > ファイル名に含まれるスペース(半角・全角)をアンダースコアに置換後 > jwwlist.batを作成し、実行するようにしてみました これ以外の方法としては、下記のようなものでしょうか? UWSCで試しにコードを書いてみました。 もっと他に方法がありますか? // jww図面を連続閲覧する.uws jwwList = DOSCMD("dir/b /o *.jww") jwwList = TRIM(jwwList) If jwwList = "ファイルが見つかりません" Then Exit fid = FOPEN("jwwList.bat", F_WRITE) jwwList = SPLIT(jwwList,"<#CR>") For List in jwwList List = "<#DBL>" + List + "<#DBL>" FPUT(fid, List) Next FCLOSE(fid) DOSCMD("jwwList.bat",True,True) |
ファイル名に、半角スペースや()が含まれている場合は、""で括ってやればOKです。 配置図(1).jww → "配置図(1).jww" ○○ ○○.jww → "○○ ○○.jww" 以下のバッチコマンドでjww_list.batは、""で括られたjwwフィル名の一覧になります。 del jww_list.bat dir/b/o *.jww>jww_list2.bat for /f "delims=" %%a in (jww_list2.bat) do (echo "%%a">>jww_list.bat) echo del jww_list2.bat>>jww_list.bat call jww_list.bat |
▼kojimaさん: > 以下のバッチコマンドでjww_list.batは、""で括られたjwwフィル名の一覧になります。 UWSCを用いなくとも、バッチファイルだけで出来るのですね。 UWSCなら簡単に出来ると考えましたが、 バッチファイルだけで出来るなら、その方が良いですね。 お返事ありがとうございます。 |
▼いっちさん: >もっと他に方法がありますか? 恐らくファイル名の置き換えの方法についてだろうと思いますが 視点を戻して、jwwデータを如何に簡単に閲覧するかを考えています Jw_cadをビュワーとして使うようにすれば PDF変換しての閲覧や、物理製本は不要になると考えられますので Windowsタブレットで使う為に、下記のようなものを作りました Autoモード・クロックメニューが使えれば、フル編集も可能です http://1drv.ms/1g09WWG 実際に、1ファイル1図面で100ページ程度の案件で試しましたが 進む・戻る・ページ指定ができると、操作感は抜群に良くなります 1ファイル内の複数図面についてですが サンプル内でも、レイヤファイル型のものはjwlファイル切替していますが 同一平面に馬鹿書きしたものは、起動オプション文字列が必要になりますので 呼び出すオプション文字列を、図面情報コピーでリストに作成する必要があり 今後は、その辺りが課題となりそうです |
▼mirrorさん: お返事ありがとうございます。 BeLook6というビュワーソフトがありますが、 このソフトは、 > 進む・戻る は出来るのですが、 1) 表示のみレイヤーの色分けが無い 2) Jw_cadでの表示と同じとは言い切れない。 という問題もあります。 ※それでも私はこのソフトのユーザーです。 > 今後は、その辺りが課題となりそうです mirrorさんが、すばらしいソフトをもし公開して頂けたら、 大変ありがたい事だと思います。 |
▼いっちさん: UWSCの存在も含めいろいろ教えて下さりありがとうございます。 書いて頂いたものをネタに初めてのスパゲッティ・・いやUWSCスクリプトを書いてみました。とりあえずそれらしく動作していますが、わからないことばかりでしたので恐らくNGを連発していると思われます。問題点に気づかれた方がいらっしゃいましたら是非お教えください。 // jw_para2.uws // スクリプトの置いてあるフォルダ内のjwwを連続して閲覧するスクリプトです。 // [ctrl]+[→]で次のファイル、[ctrl]+[←]で前のファイルを表示します。 // [ctrl]+[↓]またはjwwの終了でスクリプトを終了します。 PUBLIC cur_line = 1 PUBLIC end_line jwwList = DOSCMD("dir/b /o *.jww") jwwList = TRIM(jwwList) if jwwList = "ファイルが見つかりません" then Exit fileID = FOPEN("jwwList.txt", F_WRITE) jwwList = SPLIT(jwwList,"<#CR>") For List in jwwList List = "<#DBL>" + List + "<#DBL>" FPUT(fileID, List) Next FCLOSE(fileID) fileID = FOPEN("jwwList.txt",F_READ) end_line = FGET(fileID,F_LINECOUNT) buf = FGET(fileID,1) FCLOSE(fileID) SETHOTKEY(VK_DOWN, MOD_CONTROL,"quit_check") SETHOTKEY(VK_RIGHT, MOD_CONTROL,"open_next") SETHOTKEY(VK_LEFT, MOD_CONTROL,"open_last") exec("c:\jww\Jw_win.exe " + GET_CUR_DIR + "\" + buf,TRUE) PROCEDURE quit_check CTRLWIN(GETID("jw_win"),CLOSE) EXITEXIT FEND PROCEDURE open_next if cur_line < end_line then cur_line = cur_line + 1 fileID = FOPEN("jwwList.txt",F_READ) buf = FGET(fileID,cur_line) FCLOSE(fileID) DROPFILE(GETID("jw_win"), GET_CUR_DIR, buf) FEND PROCEDURE open_last if cur_line > 1 then cur_line = cur_line - 1 fileID = FOPEN("jwwList.txt",F_READ) buf = FGET(fileID,cur_line) FCLOSE(fileID) DROPFILE(GETID("jw_win"), GET_CUR_DIR, buf) FEND 以上 |
▼マチャプチャレさん: UWSCでデバッグもして、その後、普通の動作もさせてみました。 このスレの展開から考えて、マチャプチャレさんが欲しかったのは、 これだなと思いました。 人によっては、関数の中にFukidasiを入れ、最初のファイルである旨、 最後のファイルである旨を解るようにしたいと思う人もいるかも 知れないと少し思いましたけど、好みの問題ですね。 ファイルを行ったり来たりしてじっくり確認したい時は、マチャプチャレさん のコードを利用させて頂き、急いでいる時は閉じるボタンで次に進むコード で良いかもしれませんね。 そういえば、UWSCをインストールされていて、関連付けもされている方は、 疑問に思われることは無いでしょうが、そうでない方が取りあえず試して みたいという場合には、「送る」にUWSC.exeのショートカットを入れると 良いかもしれませんね。 |
▼いっちさん: 有料版のUWSCでデバッグもして頂いたのですね。ありがとうございます。 >このスレの展開から考えて、マチャプチャレさんが欲しかったのは、 >これだなと思いました。 バッチファイルと違って「進む」時にJWWの再起動がないのでレスポンス向上だけでなく目にも優しい感じになって満足しています。 調べてみると、このスレでkojimaさんが紹介して下さっていたAutoITでも同様のことが出来るようですね。もっと早く気づけば良かったw >人によっては、関数の中にFukidasiを入れ、最初のファイルである旨、 >最後のファイルである旨を解るようにしたいと思う人もいるかも >知れないと少し思いましたけど、好みの問題ですね。 これも仰る通りで僕もそうしようと思っていました。他にも使用するキーの好みなどあるでしょうからその辺は好みに合わせて頂ければと思います。 「送る」にUWSC.exeのショートカットを入れる件も必要なのかもしれませんね。またいろいろと教えて頂きありがとうございました。 |
▼マチャプチャレさん: タブレットでも使用可能なように、キーボードやマウスを使わずにすむような ユーザーインターフェイスを実装する事で、もっと使い易くなりそうですね >DROPFILE() UWSCならではの、なかなか面白い使用例ですね ターゲットのデータファイルのドロップハンドルを作成して WM_DROPFILESメッセージを送る独自関数のようです Jw_cadの同一インスタンスでファイルを切り替える方法は幾つかありますが Jw_cadのver8.00以降では、ファイル・開くがコモンダイアログも使えますので 前記したサンプルでは、コモンダイアログで指定する方法で実現しています 但し、Jw_cadのver7.11ではファイル・開くにコモンダイアログが使えませんので その場合には、*.jwwファイルを切替るには、有用だと思いましたので 早速、WindowsAPIで同様に実装しました もっとも、私の考えている仕様は、*.jwlファイルの切替も含みますので コモンダイアログを使った切替も必要になりますので、併用する予定です 併用した場合のサンプルです(枠の色が緑になった時に*.jwl切替になっています) http://1drv.ms/1CMcixd 前回のものと、違いが判るでしょうか Jw_cad側で、*.jwlファイルのドラッグ&ドロップにも対応して貰えれば 今回のように、ドロップハンドルを作成して送るほうが楽なように思います まあ、ver8.00からコモンダイアログも使えるようになっただけでも 有難いことではあります |
▼mirrorさん: コメントありがとうございます。 Windowsのタブレットを持っていないので今ひとつピンと来ていないのですが、インターフェイスを改良して使って頂けそうな方がいらっしゃるようでしたら是非お試し下さい。 普通のPCで少し使った感想ですが「図面の比較」にも便利かもしれません。その場合だと同じ部分が拡大できたりすると良いのでしょうが・・ 石器時代のようなプログラムしか書けない僕にとってmirrorさんのコメントは難し過ぎて大雑把にしか分かりません。呪文のように見えたりもしますがお陰で少し賢くなったような・・そんな錯覚に陥ることがありますw 制作中のタブレット向けプログラムは素晴らしいものになりそうですね。 いろいろご苦労もあるでしょうが開発頑張ってください。 |
▼マチャプチャレさん: こんにちは 遅ればせながら、LAも試してみましたが、これ、結構いいですね。 こうするといいかな、という事で勝手に、少し改造させていただきました。 ・jwwList取得の際、ファイルを介しているのを直接配列へ(ファイルを介すと実行中にリストを書換えれるという利点があるので、かならずしもいいわけではないけど...) ・第1引数で検索フォルダを指定(いっちさんのコメントから、送る にスクリプトを登録するのもいいかな て事で、ファイルでも可にしました) ・複数JWW起動時に別のJWWを操作してしまう可能性があるので、最初の操作時のみ GETIDする ・open_next/lastで、最初/最後 でファイルが変らなかった時も再読込みされるのを回避 ・[ctrl]+[↑]でファイル一覧を表示してジャンプ(POPUPMENUを使用) ・ドライブルートでGET_CUR_DIRを使うと\が付いてしまうのでその辺の対応(USBメモリーとかで、フォルダを作らないで使う用です) ・ファイル名しか""で囲んでないのでその辺の修正(DROPFILEには不要だから、最初のEXECだけ) >UWSCでの連続閲覧スクリプトは動作で気になる点もあったので少し修正してからまたアップする予定です。 修正版、楽しみにお待ちしてます。 (上記 改造はLAが勝手にそうした というだけなので、参考まで という事で...) |
▼LAさん: こんばんは >これ、結構いいですね。 わーい、褒めてもらった。ありがとうございます。こんなものでもたまには使える時がありそうですよね。 >こうするといいかな、という事で勝手に、少し改造させていただきました。 たくさんのご指摘、ありがとうございます。その多くは自分でも気づいていたのですが、UWSCというかWindows関連の知識、技術がなく直せていません(汗) >修正版、楽しみにお待ちしてます。 LAさんのスクリプトの方が優れているのは明らかですが、是非また問題点の指摘などお願いいたします。 |
▼マチャプチャレさん: > 試してみましたが、 もう、(とっくに)解決されているだろうと思ったのですが、 この掲示板上では解決していないようになっているので、 ここに書いてみます。 AutoItを、x64の方でインストールすると、だめでした。 x86のRubyをインストールしているからだと思います。 AutoItを一度アンインストールして、標準のx86の方で インストールし直したら、動作しました。 しかし、ここでひとつの問題がありました。 AutoItXj.chmのVBScriptの例を、x64のパソコンで試せなく なってしまったことです。 そこで、下記のUWSCコードを、試しに書いてみたら VBScriptも動作しました。 コードは下記です。 ※他にも方法はあるかもしれませんが、ひとつの方法ということで。 // AutoItのVBSサンプルをテストする.uws fid = FOPEN("temp.vbs", F_WRITE) FPUT(fid, myVBScript) FCLOSE(fid) DOSCMD("temp.vbs", True) TextBlock myVBScript rem 下記のコードはAutoItXj.chmの例より引用しています。 Set oAutoIt = WScript.CreateObject("AutoItX3.Control") oAutoIt.ClipPut "I am copied to the clipboard" text = oAutoIt.ClipGet() WScript.Echo "Clipboard contains:" & text EndTextBlock |
▼いっちさん: コメントをありがとうございます。 >もう、(とっくに)解決されているだろうと思ったのですが、 いえ、まだでした(汗)さっそく試してみました。ご推測通りだったようでやっとkojimaさんのスクリプトが動かせました。ありがとうございます。 UWSCもAutoItもお詳しいですね。羨ましいです。 >しかし、ここでひとつの問題がありました。 せっかくコードを書いて頂きましたがVBScriptは現状では僕にはまったく理解不能です。活かせずごめんなさい。 UWSCとAutoIt、とても便利そうなので少し使ってみようかと思い調べてみました。Windows7のJWWで使おうとするとマウスボタンの両押しやホイール操作関連が難しいみたいですね。簡単に使えるようになると良いなぁ・・ UWSCでの連続閲覧スクリプトは動作で気になる点もあったので少し修正してからまたアップする予定です。気づかれましたら是非またチェックしてください。 |
▼いっちさん: こんにちは LAは、AutoItをx86の方でインストールしていましたが、ファイル自体は、x64版の方もインストールされているようでした。 AutoItXを使ったVBScriptがx64のパソコンで試せなくなったという事は、VBScriptがx64で動いているという事でしょうから、 コマンドプロンプトを管理者権限で起動して、 regsvr32 c:\tool\AutoIt3\AutoItX\AutoItX3_x64.dll (LAの環境の場合) という様な感じで、動くようになりませんか? |
▼LAさん: こんにちは。 > ファイル自体は、x64版の方もインストールされているようでした。 そんな気もしていました。 ヘルプファイルを読む限り、そんな気がしていました。 インストールしただけで、両方ともレジストリに登録されるものかと 始めは思いました。 > VBScriptがx64で動いているという事でしょうから、 その通りです。 x86の方のwscriptを指定しても、Windowsが勝手に、 x64の方を呼び出してしまうようです。 > コマンドプロンプトを管理者権限で起動して、 > regsvr32 c:\tool\AutoIt3\AutoItX\AutoItX3_x64.dll (LAの環境の場合) > という様な感じで、動くようになりませんか? この件は、以前Meryというテキストエディタのツールでも 話題(問題)になったことがあり、存じていました。 ↑おぼろげな記憶ですが、x86のツールは、 x64のコマンドプロンプトからでは、登録できなかったような? (その逆も言えるのかも?) AutoItについては、マチャプチャレさんの投稿記事 > 調べてみると、このスレでkojimaさんが紹介して下さっていた > AutoITでも同様のことが出来るようですね。 > もっと早く気づけば良かったw を読んでから、始めたばかりなので、 AutoItそのものが現在試用中です。 もう少し様子を見て、レジストリに登録するかどうか、 判断しようかと思います。 (さしあたり、登録しなくとも困ることはなさそうです。) ↑自分でレジストリに登録した場合は、AutoItのバージョンアップ時 などで、一度AutoItをアンインストールさせる場合などは、 事前に自分でレジストリへの登録を解除しなければいけないような? レスありがとうございます。 |
コメント頂いた皆さんのお陰でとりあえずの解決策が得られました。 ありがとうございました。 前回アップしたものとの違いは主に2点、ひとつはファイルが切り替わったことに気づきにくいことがあったので切り替わるタイミングで[2/15]のようにページ数を表示したこと。もうひとつはキーを押し続けるとホットキーのバッファ?が溜まって操作し難いことがあったので不要時のホットキー待ちをなくした。 有名作家さんのソフト名と少し似てたのでスクリプト名を変更しましたw お応えできるかは疑問ですが問題点の指摘などあれば大歓迎です。 LAさんに指摘いただいた部分も直せたら良いのだが・・未定です。 // jw_next.uws // スクリプトの置いてあるフォルダ内のjwwを連続して閲覧するUWSC用スクリプトです。 // [ctrl]+[→]で次のファイル、[ctrl]+[←]で前のファイルを表示します。 // [ctrl]+[↓]またはjwwの終了でスクリプトを終了します。 PUBLIC cur_line = 1 PUBLIC end_line jwwList = DOSCMD("dir/b /o *.jww") jwwList = TRIM(jwwList) if jwwList = "ファイルが見つかりません" then Exit fileID = FOPEN("jwwList.txt", F_WRITE) jwwList = SPLIT(jwwList,"<#CR>") For List in jwwList List = "<#DBL>" + List + "<#DBL>" FPUT(fileID, List) Next FCLOSE(fileID) fileID = FOPEN("jwwList.txt",F_READ) end_line = FGET(fileID,F_LINECOUNT) buf = FGET(fileID,1) FCLOSE(fileID) SETHOTKEY(VK_DOWN, MOD_CONTROL,"quit_check") SETHOTKEY(VK_RIGHT, MOD_CONTROL,"open_next") SETHOTKEY(VK_LEFT, MOD_CONTROL,"open_last") exec("c:\jww\Jw_win.exe " + GET_CUR_DIR + "\" + buf,TRUE) PROCEDURE quit_check CTRLWIN(GETID("jw_win"),CLOSE) EXITEXIT FEND PROCEDURE open_next SETHOTKEY(VK_RIGHT, MOD_CONTROL) jwwID = GETID("jw_win") x_fk = STATUS(jwwID, ST_X) + STATUS(jwwID, ST_WIDTH)*0.5-100 y_fk = STATUS(jwwID, ST_Y) + STATUS(jwwID, ST_HEIGHT)*0.5-10 cur_line = cur_line + 1 if cur_line > end_line then cur_line = 1 if cur_line = 1 then color = $bfbfff else color = $8fffff Fukidasi(cur_line + "/" + end_line, x_fk + 60, y_fk, 0, 14, "MS ゴシック",, color) Sleep(0.2); Fukidasi() fileID = FOPEN("jwwList.txt",F_READ) buf = FGET(fileID,cur_line) FCLOSE(fileID) DROPFILE(jwwID, GET_CUR_DIR, buf) SETHOTKEY(VK_RIGHT, MOD_CONTROL,"open_next") FEND PROCEDURE open_last SETHOTKEY(VK_LEFT, MOD_CONTROL) jwwID = GETID("jw_win") x_fk = STATUS(jwwID, ST_X) + STATUS(jwwID, ST_WIDTH)*0.5-100 y_fk = STATUS(jwwID, ST_Y) + STATUS(jwwID, ST_HEIGHT)*0.5-10 cur_line = cur_line - 1 if cur_line < 1 then cur_line = end_line if cur_line = end_line then color = $bfbfff else color = $8fffff Fukidasi(cur_line + "/" + end_line, x_fk + 60, y_fk, 0, 14, "MS ゴシック",, color) Sleep(0.2); Fukidasi() fileID = FOPEN("jwwList.txt",F_READ) buf = FGET(fileID,cur_line) FCLOSE(fileID) DROPFILE(jwwID, GET_CUR_DIR, buf) SETHOTKEY(VK_LEFT, MOD_CONTROL,"open_last") FEND |
間違って押しにくい方が良かろうかという理由で[ctrl]+矢印キーで設定していましたが大変使いにくいですよね。 [ctrl]は使わず数字キーの1で進む、2で戻る、3で終了、に設定した方がマウスと平行して使えるので遥かに快適になりました。 MOD_CONTROLは削除、VK_DOWNをVK_3に、VK_RIGHTはVK_1、VK_LEFTをVK_2に変更して使うことをお勧めします。 テンキーの有無、数字(1〜3)の入力頻度と合わせて変更してみてください。 |
▼マチャプチャレさん: > 間違って押しにくい方が良かろうかという理由で > [ctrl]+矢印キーで設定していましたが大変使いにくいですよね。 実は一番初めに思っていたのがこれでした。 個人的な好みで、 SETHOTKEY(VK_Q,MOD_ALT,"quit_check") SETHOTKEY(VK_Z,MOD_ALT,"open_next") SETHOTKEY(VK_A,MOD_ALT,"open_last") にしてみました。 文字入力したかったし、マウスと併用したかったから。 |
▼いっちさん: こんにちは、コメントどもです。 >実は一番初めに思っていたのがこれでした。 あはは、そうでしたか。僕の間抜けっぷりが露呈しましたねw >文字入力したかったし、マウスと併用したかったから。 真似ていろいろ試してみました。僕のやってる左手は指一本作戦よりも総合的みるといっちさん的なものの方が使い易い気がしました。 |
▼マチャプチャレさん: 思わぬ大作になりましたね 先にも書きましたが ユーザーインターフェイス(ボタン等)を表示して使うのが良いですよ ページ指定などもできるようにすればもっと使い易いでしょう 私のほうも実装が完了しました、使い勝手はこんな感じです http://1drv.ms/1fjlEf4 登録は済みましたので、近々ベクターで公開予定です 本当は、Jw_cadでツールバーで実現して貰うのが一番有難いのですが Autoモード・クロックメニューでフル編集も可能ですし 取敢えず、現場に製本を持ち歩かなくてもよくなりそうです |
▼mirrorさん: こんにちは、コメントありがとうございます。 >思わぬ大作になりましたね 確かに無駄に行数があるような気がします(汗) >ユーザーインターフェイス(ボタン等)を表示して使うのが良いですよ >ページ指定などもできるようにすればもっと使い易いでしょう それはそうなのかもしれませんが・・僕が頑張って作らなくてもmirrorさんが素晴らしいのを公開される予定だそうですし、僕としては必要十分なのであまりいじらないと思います。 >私のほうも実装が完了しました、使い勝手はこんな感じです 素晴らしいですね。フリーソフトとして公開予定なんですか? |