[ 新規に投稿する ]

任意のタイミングで任意のファイルを読み取り専用でファイルを開き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-kantoka\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が読み取り専用で開くオプション
>※ショートカット名とかアイコンは好きにかえて読み取り専用で開くものとわかりやすくするも良し。
>
>読み取り専用で開きたいファイルについては、このショートカットにドラッグ・アンド・ドロップで開けばいいのではないでしょうか。
・こんな方法もあるのですね。大変参考になりました
[ ]

[ 新規に投稿する ]