任意のタイミングで任意のファイルを読みNo.40224
red9 さん 23/01/03 11:45
 
やりたいこと
・任意のタイミングで任意のファイルを読み取り専用でファイルを開きたい

補足
・通常ファイルを開く際に、任意のタイミングで読み取り専用でファイルを開きたい

背景
・異なる階層にある同名の複数ファイルを同時に開いて、部分コピペを繰り返す作業
をよく行います。
その際、コピペ元のファイルを(誤って編集しないよう)読み取り編集ファイルで開き
たいです。

Q
・頻繁に複数ファイルを切り替えたりするので、ファイル属性は通常のままにしたい
のですが、何かよい方法はありますか?

[ ]
RE:40224 任意のタイミングで任意のファイNo.40225
でるもんたいいじま さん 23/01/03 15:48
 
秀丸愛用者の「でるもんた・いいじま」と申します。

> やりたいこと
> ・任意のタイミングで任意のファイルを読み取り専用でファイルを開きたい
>
> 補足
> ・通常ファイルを開く際に、任意のタイミングで読み取り専用でファイルを開きたい
>
> 背景
> ・異なる階層にある同名の複数ファイルを同時に開いて、部分コピペを繰り返す作
>業をよく行います。
> その際、コピペ元のファイルを(誤って編集しないよう)読み取り編集ファイルで開
>きたいです。

一通り自動化するのであれば、マクロでそういう仕組みを作るのがいいと思います。

☆ ☆ ☆

まず、「コピペ元のファイル」を読み取り専用で開くには、コマンドプロンプトなり、
あるいは「ファイル名を指定して実行」なりから、次のようなコマンドを使います。

"c:\program files (x86)\hidemaru\hidemaru.exe" /rr /n "n:\projects\nantoka-k
antoka\ver1.2.3a\src\nantoka.c"

/rr はそちらの作業手順によっては /r のほうがいいかもしれません。
/n は私ならつけたくなりますが、お好みによっては削っても大丈夫です。
このあたりの詳細は、秀丸ヘルプのトップページから「秀丸エディタ起動時のオプシ
ョン」を開いてみてください。

それと、hidemaru.exe をフルパスで指定しなくてもいい方法が複数ありますので、
お好みの方法があればぜひ活用してください。

☆ ☆ ☆

次にマクロを書く際ですが、マクロから新しいくファイルを開く機能があります。
その際、起動時のオプションはほぼすべてそのまま指定することができます。
上記の例だと、次のようなコマンドをマクロファイルの中に書きます。

openfile @"/rr /n n:\projects\nantoka-kantoka\ver1.2.3a\src\nantoka.c";

※ @"..." という記法を使うと、文字列の中に '\' がそのまま書けます。
※ パス名に空白が含まれる場合でも、文字列の内側に再度 "..." を入れる必要はあ
りません。

☆ ☆ ☆

ここまでが「事前の情報収集」段階です。

そのあとは「秀丸のマクロヘルプを読んで、マクロを自作できるだけのプログラミン
グ技能があるか?」という点が問題になりますが…その点はいかがでしょうか?
Excelのマクロなり、perlの小さなスクリプトなりがすんなり書ける技能をお持ちで
あれば、秀丸のマクロ言語は決して難しくないと思います。

逆にもし「私にはそんなの無理!」ということであれば、今回は私がマクロ作成をお
引き受けしてもいいです。

☆ ☆ ☆

ではでは、一旦こんなところで。

[ ]
RE:40225 任意のタイミングで任意のファイNo.40226
red9 さん 23/01/03 23:06
 
貴重な情報をご返信いただきまして誠にありがとうございます。

もしかしたら既に本体の拡張機能として搭載されていたり、誰かが開発したマクロが
あるかも、と思い質問してみたのですが、自分でマクロを作成すれば実現可能なこと
が分かりました。

>「秀丸のマクロヘルプを読んで、マクロを自作できるだけのプログラミング技能が
>あるか?」という点が問題になりますが…その点はいかがでしょうか?
>Excelのマクロなり、perlの小さなスクリプトなりがすんなり書ける技能をお持ちで
>あれば、
・残念ながらありません

>「私にはそんなの無理!」ということであれば、今回は私がマクロ作成をお引き受
>けしてもいいです
・ぜひお願いしたいところなのですが、見ず知らずの方にいきなり丸投げするのもさ
すがに恐縮なので、まずは自分でマクロについて時間がある時にでも色々調べてみた
いと思います。



[ ]
RE:40226 任意のタイミングで任意のファイNo.40227
Y_H さん 23/01/04 11:11
 
>もしかしたら既に本体の拡張機能として搭載されていたり、誰かが開発したマクロ
>があるかも、と思い質問してみたのですが、自分でマクロを作成すれば実現可能な
>ことが分かりました。

横から失礼ます。
ご参考になるかはわかりませんが、「通常ファイルを開く際」というのが、
ファイルのダブルクリックやドラッグアンドドロップなどでなく、
「ファイル」メニューからの「開く」の動作であれば、
「開く」のダイアログボックスをWindows2000タイプなどにすれば、
「読み取り専用ファイルとして開く」というチェックボックスが出てきます。

[ ]
RE:40226 任意のタイミングで任意のファイNo.40228
ラフ さん 23/01/04 18:45
 
>>Excelのマクロなり、perlの小さなスクリプトなりがすんなり書ける技能をお持ち
>であれば、
>・残念ながらありません
読み取り専用で開きたいファイルのファイル名が固定ならば(複数あってもOK)
拙作のマクロであるメニュー選択式処理実行マクロ(MacroMenu.mac) Ver 0.9
を使うと、メニューファイルを下記のように作成して実行するだけですみます。
メニューファイルの形式は特殊行以外はTSV形式です。
表示項目<TAB?コマンド<TAB>パラメタ
主に、他マクロや、外部コマンドの起動ですが、内部コマンド(秀丸のマクロ命令)も
特殊なものを除いて実行可能です。

AA1.txt readonlyopenfile @"D:\Job\docuemnt\doc1\$dispstr"
Job1取扱説明書 readonlyopenfile @"D:\Job\docuemnt\doc1\readme.txt"
BB1.txt readonlyopenfile @"D:\Job\docuemnt\doc2\$dispstr"
Job2取扱説明書 readonlyopenfile @"D:\Job\docuemnt\doc2\readme.txt"

フルパスが長くて記述が面倒なら(コピペすればいいだけですが)、初期設定ファイル
のユーザ予約語に
researved_1=folder1,D:\Job\docuemnt\doc1
researved_2=folder2,D:\Job\docuemnt\doc2
などの設定をしておけば、
AA.txt readonlyopenfile @"$folder1\$dispstr"
Job1取扱説明書 readonlyopenfile @"$folder1\readme.txt"
BB.txt readonlyopenfile @"$folder2\$dispstr"
Job2取扱説明書 readonlyopenfile @"$folder2\readme.txt"
と記述できます。

基本はメニューから選択して実行ですが、キー一発実行用のマクロも添付しています
ので、それにMacroMenu.macの引き数に実行したい項目指定を追加することもできます。
もしよかったら使ってみてください。

[ ]
RE:40228 任意のタイミングで任意のファイNo.40229
ラフ さん 23/01/04 18:48
 
>表示項目<TAB?コマンド<TAB>パラメタ
表示項目<TAB>コマンド<TAB>パラメタ
です。
ちなみに<TAB>はTSVなので実際にはタブコード(0x09)ですm(__)m

[ ]
RE:40224 任意のタイミングで任意のファイNo.40238
(-L-) さん 23/01/09 23:21
 
>その際、コピペ元のファイルを(誤って編集しないよう)読み取り編集ファイルで開
>きたいです。

難しいことなどせずに、

まず、デスクトップに秀丸のショートカットつくる。
次に、ショートカットのプロパティで、リンク先を修正して /rを追加

 "(パス)\Hidemaru.exe" /r

※/rが読み取り専用で開くオプション
※ショートカット名とかアイコンは好きにかえて読み取り専用で開くものとわかりや
すくするも良し。

読み取り専用で開きたいファイルについては、このショートカットにドラッグ・アン
ド・ドロップで開けばいいのではないでしょうか。

[ ]
RE:40227 任意のタイミングで任意のファイNo.40253
red9 さん 23/01/15 14:06
 
>「ファイル」メニューからの「開く」の動作であれば、
>「開く」のダイアログボックスをWindows2000タイプなどにすれば、
>「読み取り専用ファイルとして開く」というチェックボックスが出てきます。
・初めて知りました。大変参考になりました

[ ]
RE:40228 任意のタイミングで任意のファイNo.40254
red9 さん 23/01/15 14:09
 
>読み取り専用で開きたいファイルのファイル名が固定ならば(複数あってもOK)
・随時変更される任意のファイル名なので、今回の(私の)用途とは若干異なるかな、
と思いました

>拙作のマクロであるメニュー選択式処理実行マクロ(MacroMenu.mac) Ver 0.9
>を使うと、メニューファイルを下記のように作成して実行するだけですみます。
>メニューファイルの形式は特殊行以外はTSV形式です
・とは言え、メニューファイル内容もマクロで変更できるのですね。
・初めて知りました。大変参考になりました

[ ]
RE:40238 任意のタイミングで任意のファイNo.40255
red9 さん 23/01/15 14:11
 
>まず、デスクトップに秀丸のショートカットつくる。
>次に、ショートカットのプロパティで、リンク先を修正して /rを追加
>
> "(パス)\Hidemaru.exe" /r
>
>※/rが読み取り専用で開くオプション
>※ショートカット名とかアイコンは好きにかえて読み取り専用で開くものとわかり
>やすくするも良し。
>
>読み取り専用で開きたいファイルについては、このショートカットにドラッグ・ア
>ンド・ドロップで開けばいいのではないでしょうか。
・こんな方法もあるのですね。大変参考になりました

[ ]