「カーソル位置へ読み込み」のマクロNo.02646
こば さん 01/11/20 14:04
 
お世話になります。こばといいます。

「カーソル位置へ読み込み」のマクロについてです。
[INSERTFILE]は、開いているファイルのフォルダが開いてしまいます。
ヘルプに「openfile "c:\\soft\\*.txt" 」と、載っていたので
「insertfile "D:\\USER\\*.DAT" 」に変えてみたのですが、
「D:\USER\*.DATは他のプログラムが使用中等の理由により開けません」と、エラー
がでてしまいます。
指定したフォルダを開いたダイアログボックスを出すことは出来ないでしょか?

[ ]
RE:02646 「カーソル位置へ読み込み」のマNo.02647
ひろ さん 01/11/20 17:37
 
 こばさん今日は、ひろです。
> 指定したフォルダを開いたダイアログボックスを出すことは出来ないでしょか?
 拡張子の指定までは無理ですが、フォルダの指定だけなら changename で
一時的に名前を変更すればできます。この場合、ファイルを読み込んだ後は、
再度 changename で元の名前への変更を忘れないでください。
//----------------- sample ------------------------------------------
call INSERTFILE2 hidemarudir;
endmacro;

INSERTFILE2:
//$$1:指定フォルダ
  if( !updated )##update = 1;//(更新) マーク一致の為
  $$dir = $$1 + "\\";
  $$original = filename2;
  changename $$dir + basename2;
  INSERTFILE;
  if( !result )##update = ##update|2;//(更新) マーク一致の為
  changename $$original;
  if( ##update&3 == 3)clearupdated;//(更新) マーク一致の為
  return;

[ ]
RE:02647 「カーソル位置へ読み込み」のマNo.02648
こば さん 01/11/21 16:40
 
ひろさん、こんにちは、こばです。

せっかく考えて頂いたのに、申し訳ないのですが、
「D:\USER\」を開くこととして、もう一度教えてください。
お願いします。

[ ]
RE:02648 「カーソル位置へ読み込み」のマNo.02649
ひろ さん 01/11/21 17:49
 
 こばさん今日は、ひろです。
> 「D:\USER\」を開くこととして、もう一度教えてください。
 こういった変更が簡単にできるようにサブルーチンで書いておいたのです
が、サブルーチンの使い方が解るほど、マクロに習熟していらっしゃらなかっ
たのね(^^;。失礼しました。
> call INSERTFILE2 hidemarudir;
の部分を、
call INSERTFILE2 "D:\\USER";
に変えるだけです。

[ ]
RE:02649 「カーソル位置へ読み込み」のマNo.02659
こば さん 01/11/22 19:48
 
ひろさん、こんにちは、こばです。
度々すいません。

>call INSERTFILE2 "D:\\USER";
と、変更してみたけど、文法エラーとなります。
前に作って頂いたものをコピぺでマクロファイルにしただけではダメなんでしょうか?

[ ]
RE:02659 「カーソル位置へ読み込み」のマNo.02662
ひろ さん 01/11/22 23:41
 
 こばさん今日は、ひろです。
> と、変更してみたけど、文法エラーとなります。
 手元では動いていますが...。先のメールの
> //----------------- sample ------------------------------------------
以降をコピー&ペーストし、件の行を変更してもエラーになるようでしたら、
エラー内容を教えてください。

 ##まさか Unicode や UTF-7/8 でファイルを作成したということはないよなあ〜。

[ ]
RE:02662 「カーソル位置へ読み込み」のマNo.02664
こば さん 01/11/23 07:50
 
ひろさん、こんにちは、こばです。

以下のファイルで、「INSERT_FILE.mac」と言うファイル名です。
エラー内容は、「INSERT_FILE.mac(14):文法エラーです。」とでます。

//INSERTFILE
call INSERTFILE2 "D:\\Main";
endmacro;

INSERTFILE2:
//$$1:指定フォルダ
  if( !updated )##update = 1;//(更新) マーク一致の為
  $$dir = $$1 + "\\";
  $$original = filename2;
  changename $$dir + basename2;
  INSERTFILE;
  if( !result )##update = ##update|2;//(更新) マーク一致の為
  changename $$original;
  if( ##update&3 == 3)clearupdated;//(更新) マーク一致の為
  return;


> ##まさか Unicode や UTF-7/8 でファイルを作成したということはないよなあ〜。
Unicode、UTF-7/8の意味は分かりませんが、普通にコピー、貼付でこうなるのでしょ
うか?

>call INSERTFILE2 hidemarudir;
これって、秀丸のディレクトリが開くんですよね?
この時も、同じエラーです。

[ ]
RE:02664 「カーソル位置へ読み込み」のマNo.02666
ひろ さん 01/11/23 21:14
 
 こばさん今日は、ひろです。
> エラー内容は、「INSERT_FILE.mac(14):文法エラーです。」とでます。
 解りました。こばさんがお使いの秀丸の version はいくつでしょうか?
Ver.3.09 以降でないと、このマクロは動きません。

[ ]
RE:02666 「カーソル位置へ読み込み」のマNo.02681
こば さん 01/11/26 07:43
 
ひろさん、こんにちは、こばです。

>Ver.3.09 以降でないと、このマクロは動きません。
Ver.3.08でしたので、Ver.3.10にすることで動くようになりました。
本当にお世話になりました。感謝します。

[ ]