Miyamiyaの『★MMエディタ』掲示板1 2005年10/27     戻る

re:1列ごとの文字列ソートについて 投稿者:Miyamiya
2005年10月27日(木)11時39分

satoruさんへ。
カンマ(,)で区切られたCSV形式等のテキストのように、規則正しく数字が並んで
いるなら、作れないことはないです。
書かれている形式は、タブの後ろに半角のスペースもあるようですが、正確には、
どのような形式でしょうか。

1列ごとの文字列ソートについて 投稿者:satoru
2005年10月26日(水)23時56分

宮崎様、いつもお世話になっております。
ズーム・アップ/ダウンと窓右折り返しの関係についてのご説明、ありがとうございました。

ところで素朴な質問なのですが、【1行内の数値文字列の昇順ソート】などというものは、果たして可能でありましょうか?
例えば、数字がタブ区切りになっていたとして
1 \t 2 \t 10 \t 5 \t 3 という1行内にある数値を、1 \t 2 \t 3 \t 5 \t 10 と、若番順に並べ替えられるマクロなど、可能でしょうか?

複数行を選択して、それぞれの行内の数値が、それぞれ昇順並びになってくれるのが理想なのですが……。

re:折り返し文字数変更→ズームアップ/ダウンした時の不具合 投稿者:Miyamiya
2005年10月24日(月)12時36分

satoruさんへ。
窓右端折り返しマクロは、窓のサイズが変更されたときに、折り返し文字数を
変更することにより実現されています。
ズームアップ/ダウン動作を行うと、文字の大きさが変わり、窓に表示できる文字数が
変わり、結果的に窓のサイズが変更されたときと同じように、窓右端折り返しマクロ
が働いて、折り返し文字数の設定値が変化します。したがってそのようになります。

窓右端折り返しマクロは使わずに、
表示設定→編集モード1→折り返し文字数→画面右端で折り返す をチェックして
使用されると、折り返し文字数の設定値は、変化しません。

折り返し文字数変更→ズームアップ/ダウンした時の不具合 投稿者:satoru
2005年10月22日(土)11時42分

追伸(下記、同じ内容がダブッてしまいまして、申し訳ありません。)

窓右端折り返しマクロを使用してまして、環境設定→IME/DLL/マクロ→イベントマクロを実行する の 実行する と 1 にチェックを入れて使用しているのですが、この 実行する のチェックをはずすと、下記に投稿しました件は、特に問題は発生しませんでした。
その代わり、ウインドウのサイズを変えたとき、窓右端折り返し は動作しなくなりました……。

両方をうまく動作させるには、どういった対処、設定が必要なのでしょうか?
何卒、宜しくお願いいたします。

折り返し文字数変更→ズームアップ/ダウンした時の不具合 投稿者:satoru
2005年10月22日(土)11時26分

宮崎様 お世話様です。

折り返し文字数変更マクロ CHMARGIN.MAM もしくは CHMARIN.MAM を登録してショートカットキーを割り当て。ズームアップ/ダウンにも、ショートカット・キーを割り当ててます。
CHMARGIN.MAM もしくは CHMARIN.MAM にて1行の折り返し文字数を変更したあと、ショートカット・キーにてズームアップ/ダウンの動作を行うと、1行の文字数が決まって100〜110前後になってしまうのです。

念の為、表示設定にて、例えば40文字に設定、表示設定書式保存→MM再起動→表示設定書式読込 の場合、ちゃんと40文字で表示されますので、ここまでは問題ないのですが、上記に記した CHMARGIN.MAM もしくは CHMARIN.MAM → ズームアップ/ダウン動作を行うと、やはり100〜110文字前後になってしまいます。これはどういう状況なのでしょうか?

何卒、ご教示のほど、よろしくお願いいたします。

折り返し文字数変更→ズームアップ/ダウンした時の不具合 投稿者:satoru
2005年10月22日(土)10時51分

宮崎様 お世話様です。

折り返し文字数変更マクロ CHMARGIN.MAM もしくは CHMARIN.MAM を登録してショートカットキーを割り当て。ズームアップ/ダウンにも、ショートカット・キーを割り当ててます。
CHMARGIN.MAM もしくは CHMARIN.MAM にて1行の折り返し文字数を変更したあと、ショートカット・キーにてズームアップ/ダウンの動作を行うと、1行の文字数が決まって100〜110前後になってしまうのです。

念の為、表示設定にて、例えば40文字に設定、表示設定書式保存→MM再起動→表示設定書式読込 の場合、ちゃんと40文字で表示されますので、ここまでは問題ないのですが、上記に記した CHMARGIN.MAM もしくは CHMARIN.MAM → ズームアップ/ダウン動作を行うと、やはり100〜110文字前後になってしまいます。これはどういう状況なのでしょうか?

何卒、ご教示のほど、よろしくお願いいたします。

re:マクロの使い方をお願いします 投稿者:Miyamiya
2005年10月22日(土)09時37分

助田直樹さんへ。
Formula2.mamを実行するには、メニューのマクロ→マクロの実行より、
Formula2.mamを選択して、実行ボタンを押してください。
また、よく使うマクロは、マクロ→マクロの登録 で、マクロを登録しておくと、
マクロ→登録したマクロの実行 から、簡単に実行することができるようになります。
なお、マクロファイルを実行するためには、DLL、MamMacro.dll を
MMエディタ と同じフォルダへ置いておく必要があります。
MamMacro.dll は、 MMエディタ の [MMマムマクロキット] として
別途提供されているものです。

マクロの使い方をお願いします 投稿者:助田直樹
2005年10月21日(金)18時00分

いくつかのマクロをMM−editor.exeと同じ所に入れてみましたが、使い方が分かりません。呼び込みか何かを実行しましたからか送るメニューから実行するとマクロの選択画面が出ます。選んでOKを♂と.mamファイルの中身が開きます。OKではなく、エスケープで開きたかったファイルを見ることができます。
このことについてお聞かせいただいた上で、たとえば次の
[フォーミュラ1 マクロ]
Formula2.mam
を使うにはまずどうすればいいかを教えてください。これらのファイルは既にmmeditorのホルダー内にあります。







安心しました。 投稿者:
2005年10月16日(日)14時47分

あ〜よかった!
ほんとうに、安心しました。
どうもありがとうございました。

re:大丈夫? 投稿者:Miyamiya
2005年10月16日(日)00時19分

茜 さんへ

はじめは、試用中となるだけですから、大丈夫です。
継続して使われない場合は、アンインストールされれば良いです。

大丈夫? 投稿者:
2005年10月15日(土)16時20分

そういえば私メールアドレスわかりません!
ごめんなさい!

大丈夫? 投稿者:
2005年10月15日(土)16時17分

有料、ということを知らずにインストールしてしまいました。
あせってすぐにアンインストールしたんですけど、
もう、私お金かかっちゃってるんですか??

大丈夫? 投稿者:
2005年10月15日(土)16時16分

有料、ということを知らずにインストールしてしまいました。
あせってすぐにアンインストールしたんですけど、
もう、私お金かかっちゃってるんですか??

re: 音声関連要望 投稿者:misopy
2005年10月5日(水)00時33分

Miyamiyaさん, ご返信どうもありがとうございます.
1の要望は仕方ないこととして, 2についてご検討していただけるとのこと, 感謝しております.
次のバージョンアップが楽しみです!今後ともよろしくお願いします.

re:音声関連要望 投稿者:Miyamiya
2005年10月3日(月)11時41分

misopyさんへ。
1.音声スキップ時の音声ガイドは使用しない
これは、スキップ時に、何行スキップしました。
と言う、読み(音声ガイド)を省略すると言う機能です。
スキップする行数が多くても、次の読み上げまでにかかる時間は
そんなに変わらないはずです。
次の読み上げまでにかかる時間は、音声リーダが読み始めるまでの
時間ですから、これ以上短くすることは、多分、むずかしいです。

2.引用行は、音程を下げて読む
引用行の音程を下げて読む対象文字を、ユーザが独自にカスタマイズ
できるようには、できるでしょう。付ける方向で検討してみます。

音声関連要望 投稿者:misopy
2005年10月2日(日)17時55分

いつも大変便利に使わせていただいております.どうもありがとうございます!
要望があって書き込ませていただきます.

1.音声スキップ時の音声ガイドは使用しない
読み上げ中のスペースキーの音声スキップ機能ですが,
オンの状態でたしかに音声がスキップしながら読み上げるようになるのですが,
いまいちレスポンスがよくないように思います.
スキップする行数が多くなるほどレスポンスの悪さが顕著です.
スキップ機能を使って読むときは, スピーディーに読みたいときだと思いますので, このレスポンスの改善をお願いしたいのですが?
スペースキーーを押してから音声がとぎれることなく読み上げがスキップされるとうれしいです.

当方の環境は
CPU Pentium 3GZ
スクリーンリーダー PC-Talker-XP
です.

2.引用行は、音程を下げて読む
この「引用業」なのですが,
音程を下げて読む対象文字を
ユーザが独自にカスタマイズできるようにできませんか?

引用業だけではなくて, 見出し項目や固有の記号で音程が低くなって読み上げができるようになると, ひじょうに便利です.
「>」だけではなく, 「■」や「・」などです.
さらに要望を言わせていただくと, 「音程を低くして読み上げる文字列」というような設定があって,
そこにエディットボックスがあり, 「>」や「■」などの文字が複数登録できるようになっているとうれしいです.

以上, わがままな要望ですいませんがご検討していただけたら幸いです.

機能の追加を確認しました 投稿者:hfh
2005年10月1日(土)20時34分

9月17日に要望していた件ですが、
Ver.7.22で下記の機能追加(変更)を確認しました。
ありがとうございました。m(_ _)m

> マウスでの Drag&Drop で移動又はコピー後の文字列は、
> 選択の状態としました。

あとは、私も h_fujimoto さんと同じように
アウトラインプロセッサの再構築の即時反映を楽しみにしています。

re:アウトラインプロセッサについて  投稿者:h_fujimoto
2005年9月23日(金)10時43分

Miyamiya様
>「再構築」を実行しなくても、本文の変更内容を、アウトラインウインドウへ
>反映させると言うこニでしたら、今のところはちょっとむずかしいです。
了解いたしました。今のままで、使っていきます。
無理をお願いして申し訳ありませんでした。

re4:空白行整形マクロについて 投稿者:hfh
2005年9月22日(木)18時47分

Miyamiya様
思い通りの整形マクロになっています。
たいへんお世話をおかけしました。
どうもありがとうございました。
m(_ _)m



re3:空白行整形マクロについて 投稿者:Miyamiya
2005年9月22日(木)15時57分

hfhさんへ。
全角スペース、半角スペース、タブだけの行は空行とみなして、
連続した2行以上の空行を1行の空行にすると言うことでしたら
18行目の以下の行の上へ

------------------------------------------------------------------
DispOn();
------------------------------------------------------------------
以下の内容を追加してください。
------------------------------------------------------------------
Top(); // テキストの先頭へ
while(1)
{
if(KbHit() == 0x1b) // [ESC]が押されたら中断
break;
if(Linestat() == -1) // テキストエンド(EOF行)なら終了する
break;
if(Tcode() == 1) // 空行
{
Down();
while(Tcode() == 1) // 2行以上の空行を1行空行にする
Del();
}
else
Down();
}
------------------------------------------------------------------


re:アウトラインプロセッサについて 投稿者:Miyamiya
2005年9月22日(木)15時55分

h_fujimotoさんへ。
「再構築」を実行しなくても、本文の変更内容を、アウトラインウインドウへ
反映させると言うことでしたら、今のところはちょっとむずかしいです。
将来、改良するときには、そのようにできるかもしれません。

re3:空白行整形マクロについて  投稿者:hfh
2005年9月21日(水)20時57分

こんばんは。
試してみましたところ, WEBページのように
全角又は半角の空白文字だけの行が混在している場合は,
1行空行にするには, 2ステップが必要になります。
つまり, 全角又は半角の空白文字だけは削除されますが,
その行は削除されないからです。
たいへん申し訳ありませんが,
一度に整形できるよう, よろしくお願いいたします。
m(_ _)m

re:アウトラインプロセッサについて 投稿者:h_fujimoto
2005年9月21日(水)20時39分

Miyamiya様
1.アウトラインのツリー構造を閉じている場合、マウスをアウトラインウィンドウに移動させた時は、ツリー構造は展開されないで、そのまま該当するタイトルが反転表示され、下部構造のアウトラインタイトルを表示してくれません。
2.右クリックして「再構築」すると、はじめてツリーが展開され、該当する最下部のアウトラインタイトルが反転表示されます。
3.なお、1.の場合、反転表示されるアウトラインタイトルが正確でないようです。
以上、状況をお知らせいたしますので、よろしくお願いいたします。

re2:空白行整形マクロについて 投稿者:Miyamiya
2005年9月21日(水)15時33分

hfhさんへ。
『連続した2行以上の空行は, 1行の空行にする。』なら
23行目からの以下の9行を削除して

------------------------------------------------------------------
int cr = 0;
if(Tcode() == 1) // 空行
{
cr = 1;
Down();
if(cr && Tcode() == 1) // 2行空行を1行空行にする
Del();
return;
}
------------------------------------------------------------------
以下の7行と差し替えてください。
------------------------------------------------------------------
if(Tcode() == 1) // 空行
{
Down();
while(Tcode() == 1) // 2行以上の空行を1行空行にする
Del();
return;
}
------------------------------------------------------------------


re2:空白行整形マクロについて  投稿者:hfh
2005年9月20日(火)21時00分

誤解するような書き方だったようで申し訳ありません。
連続した2行の空行ではなく,
『連続した2行以上の空行は, 1行の空行にする。』です。
連続した5行の空行でも, 1行の空行にしたいのです。
マクロの修正, よろしくお願いいたします。

re3:要望 投稿者:hfh
2005年9月20日(火)20時47分

どうもありがとうございます。
折り返し文字数については, ご指摘のとおり,
イベントマクロが原因でした。
お騒がせして済みませんでした。
m(_ _)m

re:MAMマクロの関数について。 投稿者:社納龍太
2005年9月20日(火)18時36分

宮崎さん、どうもありがとうございました。
納得できました。

re:アウトラインプロセッサについて 投稿者:Miyamiya
2005年9月20日(火)15時16分

h_fujimotoさんへ。
書かれている意味がよくわからないのですが。
右マウスで「再構築」を選択して「再構築」を実行しなくても、
アウトラインウインドウへ移動すれば、タイトルの反転表示はしています。

re:MAMマクロの関数について。 投稿者:Miyamiya
2005年9月20日(火)15時06分

社納龍太さんへ。
MMエディタ自体を終了させる場合は、PutChr();関数に、ショートカットキー
のコマンドNo.10「MMの終了」を指定します。

-------------------------------------------------------------------
// MMエディタを終了
main()
{
PutChr(10<<8); // 「MMの終了」
}
-------------------------------------------------------------------


re:空白行整形マクロについて 投稿者:Miyamiya
2005年9月20日(火)15時04分

hfhさんへ。
以下のマクロを使ってみてください。

-------------------------------------------------------------------
// このマクロはテキスト全体の
// 改行手前の連続する全角スペース、半角スペース、タブを取り除きます。
// 行頭にある全角スペース、半角スペース、タブも同時に取り除きます。
// しかし、行頭の全角スペースについては、1個だけは残します。
// また、連続した2行の空行を1行の空行にします。

main()
{
DispOff2(); // 表示は最後にまとめて
Top(); // テキストの先頭へ
while(1)
{
if(KbHit() == 0x1b) // [ESC]が押されたら中断
break;
if(Linestat() == -1) // テキストエンド(EOF行)なら終了する
break;
DelSpc(); // 1行実行関数を呼ぶ
}
DispOn();
}

// 論理行1行の実行関数
void DelSpc(void)
{
int cr = 0;
if(Tcode() == 1) // 空行
{
cr = 1;
Down();
if(cr && Tcode() == 1) // 2行空行を1行空行にする
Del();
return;
}
if(Code() == 0x8140) // 行頭の全角スペースについては、1個だけは残すように
Right(); // 1文字移動
while(Tcode() == 2) // スペース、タブのあいだ実行
{
if(KbHit() == 0x1b) // [ESC]が押されたら中断
break;
Del();
}

REdge(); // 論理行末(改行上)へ
if(Col() == 1) // 先頭が改行なら次の行へ
{
Down();
return;
}
Left();
while(Tcode() == 2) // スペース、タブのあいだ実行
{
if(KbHit() == 0x1b) // [ESC]が押されたら中断
break;
Del();
Left();
}
LDEdge(); // 表示行先頭へ
Down(); // 次の行へ
}
-------------------------------------------------------------------


re:re2:要望 投稿者:Miyamiya
2005年9月20日(火)15時03分

hfhさんへ。
Windows XP Pro では、画面サイズを変えると, 折り返し文字数が変動して
しまいます。というのは、ちょっとありえないです。
もしかして、「画面右端で折り返す」のイベントマクロを使われている
と言うことはないでしょうか。

re:アウトラインプロセッサについて  投稿者:h_fujimoto
2005年9月20日(火)14時52分

Miyamiya様、
今でも、本文にマウスカーソルがあるときに、アウトラインプロセッサ欄を右クリックし、「再構築」を選択しますと、相当するアウトラインタイトル行が反転表示されます。恥ずかしいことに、このことは極最近知りました。お願いしたかったことは、「再構築」をしなくても、相当するアウトラインタイトル行が反転表示されるということです。よろしくお願いいたします。

MAMマクロの関数について。 投稿者:社納龍太 
2005年9月19日(月)20時49分

宮崎さん、こんにちは。松本市の社納です。
とても久しぶりの投稿ですが、いつもMMソフトを便利に使わせていただいています。
今回はMMエディタのマクロについて、お教えいただきたくお願いいたします。
マクロから抜ける場合はexitを使いますが、MMエディタ自体を終了させる関数はありますでしょうか?
よろしくお願いいたします。

空白行整形マクロについて 投稿者:hfh
2005年9月19日(月)15時40分

別件のお願いになりますが, Delspc.mamへの機能追加について教えてください。
大分前に, Delspc.mamの改良版を作成していただいたのですが,
このマクロに『2行以上の連続する空白行(改行のみ)は1行にする。』機能を
追加したいと思っています。
どうもよく分かりませんので, よろしくお願いいたします。
なお, 『2行空白を1行空白にする。』と『Delspc.mamの改良版』
を以下に記載してあります。m(_ _)m

------------------------------
//2行空白を1行空白にする。
main()
{
while(1) // 繰り返し何らかの処理をおこなう
{
// Top();
if(KbHit() == 0x1b) // ESCが押された場合は終了
break;
if(Linestat() == -1) // テキストエンド(EOF行)なら終了する
break;
int cr;
for(cr = 0; Linestat() != -1; )
{
if(Tcode() == 1)
cr = 1;
Down();
if(cr && Tcode() == 1)
Del();
cr = 0;
}
}
}

------------------------------
// MMエディタ[空白行整形 マムマクロ]
// Delspc.mamの改良版
//関数のプロトタイプ宣言
void DelSpc(void);

main()
{
DispOff2(); // 表示は最後にまとめて
Top(); // 全体を対象とするならまずテキストの先頭へ
while(1)
{
if(KbHit() == 0x1b) // [ESC]が押されたら中断
break;
if(Linestat() == -1) // テキストエンド(EOF行)なら終了する
break;
DelSpc(); // 1行実行関数を呼ぶ
}
DispOn();
}
// 論理行1行の実行関数
void DelSpc(void)
{
if(Code() == 0x8140) // 行頭の全角スペースは、1個だけは残す
Right();
while(Tcode() == 2) // スペース、タブのあいだ実行
{
if(KbHit() == 0x1b) // [ESC]が押されたら中断
break; Del();
}
REdge(); // 論理行末(改行上)へ
if(Col() == 1) // 先頭が改行なら次の行へ
{
Down();
return;
}
Left();
while(Tcode() == 2) // スペース、タブのあいだ実行
{
if(KbHit() == 0x1b) // [ESC]が押されたら中断
break;
Del();
Left();
}
LDEdge(); // 表示行先頭へ
Down(); // 次の行へ
}
------------------------------

re2:要望 投稿者:hfh
2005年9月19日(月)14時32分

早速ですが,
(2) コピー&ペーストについて, よろしくお願いします。

(1) 表示設定についてですが, 久し振りにWindows Meを使ってみたところ,
確かに「画面右端で折り返す」にチェックを入れてないなら、
画面サイズを変えても, 画面右端で折り返されることはありませんでした。

しかし, 常用のWindows XP Pro では,
画面サイズを変えると, 折り返し文字数が変動してしまいます。

何かほかに原因はあるのでしょうか?


re:アウトラインプロセッサについて 投稿者:Miyamiya
2005年9月19日(月)11時37分

h_fujimotoさんへ。
アウトラインのタイトル行に反転表示やアンダーラインを付けると言うのは
どういうことでしょうか。
アウトラインのウィンドウ内を移動したときに、現在位置のタイトル行が、
本文の位置と一致している場合に、ということですか。

re:要望 投稿者:Miyamiya
2005年9月19日(月)11時35分

hfhさんへ。
(1) 表示設定について
「画面右端で折り返す」にチェックを入れてないなら、画面が小さくても、
画面右端で折り返されることはないはずです。
折り返し文字数で指定した文字数で折り返すはずです。

(2) コピー&ペーストについて
これは選択範囲を保持したまま、連続してできるようにしておきます。

re:アウトラインプロセッサについて  投稿者:h_fujimoto
2005年9月17日(土)14時10分

Miyamiya様、ご検討をよろしくお願いいたします。
見た目の良さでは、行番号表示よりも、タイトル行の反転表示やアンダーラインの方が好ましいと思います。勝手を言って申し訳ありません。

要望 投稿者:hfh
2005年9月17日(土)11時52分

こんにちは。久し振りに要望させていただきます。

(1) 表示設定について
 これは以前から同じだったとは思いますが, 「画面右端で折り返す」にチェックを入れてなくとも画面右端で折り返されてしまいます。
 チェックを入れてないときは, 画面の大きさを変えても「横書き時」の文字数が固定されるようにしてほしいです。

(2) コピー&ペーストについて
 Ctrlキーと左ボタンを押しながら選択範囲をドラッグするとコピー&ペーストが1回できますが, これを選択範囲を保持したまま連続してできるようにしてほしいです。

以前から思っていたのですが, よろしくお願いします。


re:アウトラインプロセッサについて 投稿者:Miyamiya
2005年9月17日(土)10時31分

h_fujimotoさんへ。
この件については、検討してみます。

re:アウトラインプロセッサについて  投稿者:h_fujimoto
2005年9月16日(金)20時55分

Miyamiya様、
アウトラインのタイトル行に本文の行番号を付けることができれば、ありがたいです。あるいは、タイトル行にアンダーラインが付くとか、反転表示するとか、どんな方法でも構いません。よろしくお願いいたします。

re:アウトラインプロセッサについて 投稿者:Miyamiya
2005年9月16日(金)10時29分

h_fujimotoさんへ。
そうすると、アウトラインのタイトル行に、本文の行No.を付ければ
いいと言うことでしょうか。

re:アウトラインプロセッサについて  投稿者:h_fujimoto
2005年9月15日(木)14時04分

Miyamiya様、
説明が不十分でしたので、説明し直します。

本文で見出し認識文字「.」を使って、.A ..A ..B ..C.. … .B ..A ..B ..C … …のようにツリー構造にして文章を作成するとします。
今「..D」で文章を作成中の場合、どこの(「.A」の「..D」なのか「.B」の「..D」なのか、…)「..D」で文書を作成中なのか、行数が多くなると、確認が難しくなります。
もちろん、同じ見出し「..D」を使わないようにすればいいのですが、このような見出しをつけたい場合もあります。
このような場合、アウトライン側でどこの「..D」かを示してくれると助かります。
よろしくお願いいたします。

re:アウトラインプロセッサについて 投稿者:Miyamiya
2005年9月15日(木)11時35分

h_fujimotoさんへ。
マウスカーソルですか。?
本文の現在の位置でしたら、カーソル行の色を変えるか、カーソル行に下線を
付けるかしておけば、位置はわかると思います。

わかりました。 投稿者:高千穂遙
2005年9月14日(水)20時56分

なんとか馴染むように努力しましょう。(^^;

アウトラインプロセッサについて 投稿者:h_fujimoto
2005年9月14日(水)17時52分

Miyamiya様、
アウトラインプロセッサ機能をとても気に入って多用させてもらっています。
ところで、本文のマウスカーソルがある位置をアウトラインプロセッサ側で分かるようにできないでしょうか?他のエディタでできるものがあります。よろしくお願いいたします。
なお、青空変換マクロのコピーはいまだ再現できませんが、再度トライしてみます。

re:範囲指定して、Enter。 投稿者:Miyamiya
2005年9月14日(水)10時39分

高千穂遙さんへ。
不可能ではないですが、Windows標準の動作としては、削除した文字はUndoでしか
戻せないようになっていますので、そのような場合はUndo2回で元に戻すように
してください。

範囲指定して、Enter。 投稿者:高千穂遙
2005年9月13日(火)22時45分

了解しました。ただ、行範囲指定で十数行が吹き飛んでしまうと、さすがにあわてますので、削除した文字列がバッファに保存され、貼りつけで戻せるようにはならないでしょうか。それが可能になれば、かなり楽になるので、よろしくお願いします。

範囲指定して、Enter。 投稿者:Miyamiya
2005年9月13日(火)10時36分

高千穂遙さんへ。
ちょっと調べてみましたが、範囲指定して、Enter の場合の動作は、
範囲内の文字を削除して改行の入力
というのが、大半のソフトでの動作のようですので、このままの仕様で
行くことにします。

re:青空文庫マクロについて 投稿者:Miyamiya
2005年9月13日(火)10時31分

h_fujimotoさんへ。
MMエディタで新規ファイルを開いて、そこへ貼り付けます。
そして、MMエディタの 名前を付けて保存 で、ファイル名を付けて
保存してください。

re:青空文庫マクロについて  投稿者:h_fujimoto
2005年9月12日(月)16時03分

Miyamiya様
掲示板「2005年5月19日(木)12時27分 ==> 61.7.7.81」の「main()」から「}」をコピー・貼り付けし、ファイル名「aozora10.mam」とし、MmEditorフォルダに貼り付けました。(このファイルの行数は29行しかありません。)
青空のファイルを「aozora10.mam」でマクロ処理しますと、なんの応答もありません。そこで処理画面をマウスでクリックしますと、フリーズしてしまいます。
なお、ダウンロードした「aozora.mam」はちゃんと作動いたします。
よろしくご教示お願いいたします。

re:範囲指定して、Enter。 投稿者:Miyamiya
2005年9月12日(月)12時03分

高千穂遙さんへ。
かなり前は、範囲指定して、Enterでは、何もしていなかったと思います。
範囲指定して文字を入力すると、範囲内の文字を削除してその文字を入力するように
変更したときに、範囲指定しての、Del やEnterでは、削除するように
変更したと思います。
現在は、大体どのエディタでも、範囲指定して、何かのキーが押された場合は
範囲内の文字は削除されているようです。
要望の件は、検討してみます。

re:青空文庫マクロについて 投稿者:Miyamiya
2005年9月12日(月)12時02分

h_fujimotoさんへ。
普通に、コピー・貼り付けを行えば、問題はないはずです。
マクロを範囲指定して、コピーします。
そして、エディタに貼り付けます。
エディタの名前を付けて保存で、マクロのファイル名を付けて保存すれば
いいです。

範囲指定して、Enter。 投稿者:高千穂遙
2005年9月10日(土)19時43分

 すみません。ちょっと教えてください。
 行単位でも文字単位でも、範囲指定しておいてからEnterキーを押すと、範囲指定されていた部分が削除されてしまいます。これは、前から、このような仕様だったんでしょうか? なぜか、前は範囲指定されたまま、カーソル位置に改行が挿入されていたような気がするのですが、定かではありません(もしかしたら、べつのエディタのことだったかも)。

 この削除、文字列がバッファに入らないらしく、貼りつけでは復元することができません。「やり直し」2回で戻すことになります。

 できれば、範囲指定したときEnterキーを打つと、カーソル位置に改行が挿入される仕様であってほしいのですが、それは無理でしょうか? たまに、間違えてEnterキーを打ってしまい、あわてることがあるのです。

re:青空文庫マクロについて  投稿者:h_fujimoto
2005年9月10日(土)19時42分

Miyamiya様、ありがとうございました。
ご提供頂いたaozora.mamマクロで正確に変換できました。この素晴らしいマクロをこれからも使わせていただきます。
ところで、本掲示板のマクロをエディタにうまくコピー・貼り付けする方法はないものでしょうか、お尋ねいたします。

re:青空文庫マクロについて  投稿者:h_fujimoto
2005年9月10日(土)18時44分

Miyamiya様、ありがとうございました。
ご提供頂いたaozora.mamマクロで正確に変換できました。この素晴らしいマクロをこれからも使わせていただきます。
ところで、本掲示板のマクロをエディタにうまくコピー・貼り付けする方法はないものでしょうか、お尋ねいたします。

re:青空文庫マクロについて 投稿者:Miyamiya
2005年9月10日(土)12時01分

h_fujimotoさんへ。
おそらく、マクロのコピーがうまくできていないのでしょう。
下記の URL へ、このマクロを置いていますので、ダウンロードして
使われてみてください。
ファイル名は、aozora.lzh で 、マクロファイル(aozora.mam)のみが入っています。

 http://www.am-corp2.com/arc/aozora.lzh

青空文庫マクロについて 投稿者:h_fujimoto
2005年9月9日(金)21時44分

MiyaMiya様、h_fujimotoです。
青空文庫変換マクロについてお尋ねいたします。
「題名:原因、分かりました。 投稿者:Miyamiya
2005年5月19日(木)12時27分 ==> 61.7.7.81」

●ここにあるマクロをコピーし、青空文庫のファイルに適用しようとしましたが、
「\……\MmEditor\aozora.mam マクロエラーが9行目目でが発生しました。シンボル:・は定義さていません。」と表示されました。
●エディタ上で青空文庫のファイルの一部を選択して、マクロを起動したところ、同じようなエラー表示が出ました。違いは「9行目」が「20行目」に変わっただけでした。
●マクロはMMエディタに貼り付けたままですと、行数が短くコピーされましたので、手で改行を行い、原文に合わせました。
なぜエラーが出るのでしょうか?ご教示願います。

括弧類が含まれる時の再変換について 投稿者:satoru
2005年9月3日(土)23時31分

Miyamiya様、いつも迅速な対応にて、大変感謝しております。
修正ベータ版は問題なく再変換されました! 改めて、末永く活用していけるエディターだと納得しました。この度は、ありがとうございました。

re:括弧類が含まれる時の再変換について 投稿者:Miyamiya
2005年9月3日(土)12時03分

satoruさんへ。
確かにそのようになりますね。この件を修正したベータ版を
下記の URL へ置いていますので、ダウンロードして使われてみてください。
ファイル名は、mm721b4.lzh で、実行ファイル(mmeditor.exe)のみが入っています。

 http://www.am-corp2.com/arc/mm721b4.lzh

括弧類が含まれる時の再変換について 投稿者:satoru
2005年9月3日(土)04時53分

いつもお世話になっております。以前から気になっていたのですが、括弧類を含んだ時の、行頭での単語漢字再変換時の症状なのですが、例えば

【国際協調・
神前】

この 神前 を単語をドラッグして 親善 と漢字再変換を試みると、

【国際協調・】
親善

というように、括弧の閉め が、前行末に移動してしまうのです。
もちろん、【国際協調・ と 神前】 の間には、改行\n は入っておらず、画面上折り返されているだけです。

ちなみに、バージョンは 7.20 を使用しております。
何卒、ご教示願いますよう、宜しくお願いいたします。

re:UTF-8 文字化け 投稿者:ken-1
2005年7月23日(土)21時28分

早速のご対応ありがとうございます。

ベータ版で上手くいきました。

どうもありがとうございます。
助かりました。

re:UTF-8 文字化け 投稿者:Miyamiya
2005年7月23日(土)18時21分

ken-1さんへ。
確かに、フォルダ指定時のUTF-8での保存がうまくできない場合があるようです。
この件を修正したベータ版を
下記の URL へ置いていますので、ダウンロードして使われてみてください。
ファイル名は、mm721b3.lzh で、実行ファイル(mmeditor.exe)のみが入っています。

 http://www.am-corp2.com/arc/mm721b3.lzh

re:UTF-8 文字化け 投稿者:ken-1
2005年7月23日(土)17時05分

早速ありがとうございます。
フォルダの文字コード指定で開き、上手く開けました。

ただ、開いた際に文字コードが変換されているようです。
UTF-8で保存したいのですが、「名前をつけて保存」で
保存する際に文字コードをUTF-8に指定していますが、
SJISで保存されているようです。そのままIE6などで開くと文字化けと
なってしまいます。
お手数をおかけしますが、アドバイスお願いいたします。




re:UTF-8 文字化け 投稿者:Miyamiya
2005年7月23日(土)12時12分

ken-1さんへ。
・自動認識 と
・UTF-8も自動認識する
をチェックされていれば OK です。
ただし、チェックはテキストの先頭から4,000バイト程度で行っていますので、
テキストの先頭から4,000バイト程度までが、すべて半角文字の場合は
半角文字は SJIS も UTF-8 も同じコードですので、SJIS と判定してしまいますので、
そのようなテキストの場合は、UTF-8 を指定して開く必要があります。

また、フォルダで文字コードを指定する で UTF-8 を指定したフォルダに
そのファイルを置いておけば、必ず UTF-8 で開くことができます。

UTF-8 文字化け 投稿者:ken-1
2005年7月23日(土)01時19分

いつもMMエディタを使わせて頂き、ありがとうございます。

Ver7.20を使っております。(WinXP)

文字コードがUTF-8のhtmlファイルが文字化けしてしまいます。
環境設定でUTF-8も自動認識するをチェックしておりますが、
うまく表示されません。他に設定ありましたでしょうか。
お教えください。

re:ヘルプのテキスト版を読むには 投稿者:mumu
2005年7月6日(水)22時46分


miyamiya 様


お世話になります。対処法を教えて頂き、ありがとうございました。ショートカットを作り直すことで無事に「ヘルプのテキスト」を読むことができました。
これから徐々に使い方を憶えていきたいと思います。
よろしくお願いいたします。

re:ヘルプのテキスト版を読むには 投稿者:Miyamiya
2005年7月4日(月)11時49分

mumuさんへ。
これは、デスクトップにMmhelp.txtのショートカットを作成して、そのショートカット
からMMエディタを起動して、Mmhelp.txtを開こうとされたときのエラーでしょうか。
そうであるなら、そのショートカットに書かれているMmhelp.txtのある場所に
Mmhelp.txtが見つからないと言うエラーです。
対応策としては、
そのショートカットを選択して、右マウスメニューのプロパティーでメニューを開いて
リンク先の欄に、Mmhelp.txtの存在する正しい場所を指定してください。
または、Mmhelp.txtのショートカットを削除して、もう一度作り直してもいいです。

ヘルプのテキスト版を読むには 投稿者:mumu
2005年7月3日(日)13時52分

miyamiya様

お世話になります。
何時も何時もほんとうにありがとうございます。

MMエディタのヘルプのテキストを読もうとすると、下記のようなメッセージが出て開くことができないのです。

ショートカット エラーのメッセージ このショートカットは、リンク先の 'Mmhelp.txt' が変更または移動されているので、正しく機能しません。 サイズ、日付、および種類から最も一致するもの: C:\Program Files\Microsoft Office\Templates\MseN...\TEXTFILE.TXT このショートカットをこの対象に関連付けて修正するか、または削除してください。 エンターは 修正 Dワ 削除 エスケープワ キャンセル
どこかで私のミスでこのような現象がおきるのかなと思うのですが・・。
対処の方法を教えて頂けたら幸いです。


re:2桁のページ番号の印刷について 投稿者:わで
2005年6月30日(木)12時09分

Miyamiya様

何度もお手数をおかけしております。
さっそくベータ版を使わせて頂きました。
問題なく、印刷できました!
本当にありがとうございます。

今後ともよろしくお願いいたします。

re:2桁のページ番号の印刷について 投稿者:Miyamiya
2005年6月30日(木)11時16分

わでさんへ。
10ページ未満のテキストにおいて、印刷初期値・ページNoを10以上にした場合に
ページがうまく印刷できない件はこちらでも確認できました。
この件を修正したベータ版を
下記の URL へ置いていますので、ダウンロードして使われてみてください。
ファイル名は、mm721b2.lzh で、実行ファイル(mmeditor.exe)のみが入っています。

 http://www.am-corp2.com/arc/mm721b2.lzh

re:2桁のページ番号の印刷について 投稿者:わで
2005年6月29日(水)13時55分

お返事いただきまして、ありがとうございます。

> 書かれている内容からすると、10ページ以上あるテキストを9ページ以内と
> 判断して、ページを1桁で印刷する場合があると言うことでしょうね。

よくよく調べると、症状が出るのは、
『10ページ未満のテキストにおいて、「印刷設定」の「印刷初期値・ページNo」を変えることによって、ページ番号10以上のページが生じる場合』
でした。
(たとえば、5ページ分のテキストで、印刷初期値を「30」にすると、5ページとも、ヘッダは「Page:3」となります)
十分に確認せず、申し訳ありませんでした。

質問がすり変わるようで恐縮ですが、上記の状況を解決する方法はありませんでしょうか?
(なお、問題の印刷書式ファイルとテキストファイルを、メールにてお送りしました)

たびたび申し訳ありませんが、よろしくお願いいたします。

re:2桁のページ番号の印刷について 投稿者:Miyamiya
2005年6月29日(水)10時53分

わでさんへ。
書かれている内容からすると、10ページ以上あるテキストを9ページ以内と
判断して、ページを1桁で印刷する場合があると言うことでしょうね。
こちらでいろいろ試してみましたが、ちょっと再現できません。
調べてみますので、お使いの印刷書式ファイル(*.pr1)と、再現できる
簡単なテキストをを添付ファイルとして、
こちら(miyamiya@am-corp2.com)までお送りください。

お詫びと補足(2桁のページ番号の印刷について) 投稿者:わで
2005年6月28日(火)13時58分

すみません、操作を誤ってしまい、同じ発言を2度してしまいました。
誠に申し訳ありません。

先ほどの件について補足させていただきます。

> 1の位が消えてしまい、10の位しか印刷されないことがあるのです。
> 印刷プレビューでも、そのように表示されます。
> 印刷するテキストファイルによって、問題なく2桁印刷できるものと、できないものがあるようです。

問題なく2桁印刷できるものと、できないものとは、印刷プレビューの表示が、少し違っています。
ページ番号が1桁のとき、
(2桁印刷できるもの)「Page: 1」(ページ数の前に半角あきが入る)
(2桁印刷できないもの)「Page:1」(ページ数の前に半角あきが入らない)

今回の症状に関連あるか分かりませんが、念のためお知らせします。

2桁のページ番号の印刷について 投稿者:わで
2005年6月28日(火)13時56分

いつもMMエディタを使わせて頂き、ありがとうございます。

WinXP、Ver7.20を使っております。
縦書きで、ヘッダにページ番号を入れるよう設定しているのですが、2桁のページ番号の印刷が、うまくいかない場合があります。
1の位が消えてしまい、10の位しか印刷されないことがあるのです。
印刷プレビューでも、そのように表示されます。
印刷するテキストファイルによって、問題なく2桁印刷できるものと、できないものがあるようです。

ちなみに、過去にも同様の質問がありました。
設定は若干異なりますが、症状は同じです。
私のヘッダ設定は、「Page:%p &F」です。

> >ページ番号2桁表示できません 投稿者:ろういち
>
> 2003年8月5日(火)11時32分
>
> いつもありがとうございます。
> ヘッダ表示を使って、ページ番号を印刷しているのですが、9ページの次が1ペ> ージになってしまい、2桁の表示ができません。
> 「- %p -」という設定にしているのですが、表示は、10ページの場合「- 1 -」> となります。1桁の場合は、問題ありません。
> バージョンは、MM718B2.LZHを使っております。
> 解決方法は、ありますでしょうか?

解決の方法はありませんでしょうか。
申し訳ありませんが、よろしくお願いいたします。

2桁のページ番号の印刷について 投稿者:わで
2005年6月28日(火)13時46分

いつもMMエディタを使わせて頂き、ありがとうございます。

WinXP、Ver7.20を使っております。
縦書きで、ヘッダにページ番号を入れるよう設定しているのですが、2桁のページ番号の印刷が、うまくいかない場合があります。
1の位が消えてしまい、10の位しか印刷されないことがあるのです。
印刷プレビューでも、そのように表示されます。
印刷するテキストファイルによって、問題なく2桁印刷できるものと、できないものがあるようです。

ちなみに、過去にも同様の質問がありました。
設定は若干異なりますが、症状は同じです。
私のヘッダ設定は、「Page:%p &F」です。

> >ページ番号2桁表示できません 投稿者:ろういち
>
> 2003年8月5日(火)11時32分
>
> いつもありがとうございます。
> ヘッダ表示を使って、ページ番号を印刷しているのですが、9ページの次が1ペ> ージになってしまい、2桁の表示ができません。
> 「- %p -」という設定にしているのですが、表示は、10ページの場合「- 1 -」> となります。1桁の場合は、問題ありません。
> バージョンは、MM718B2.LZHを使っております。
> 解決方法は、ありますでしょうか?

解決の方法はありませんでしょうか。
申し訳ありませんが、よろしくお願いいたします。

re:ファイルを改行を入れながら取り込むには? 投稿者:Miyamiya
2005年6月18日(土)10時50分

キングさんへ。
Excelでの VBAマクロの動作についての質問のようですので、
MMエディタとは関係ないようですが。?
Excelの VBAマクロについては、Excel関連のサポート場所で聞かれてください。

ファイルを改行を入れながら取り込むには? 投稿者:キング
2005年6月17日(金)22時05分

現在Excel VBAにて、任意のファイルをファイルを取り込もうとしてます。取り込むファイルの形式が改行が入っていない一行の文字列 (何万文字もある) で、これを256文字 (バイト) づつ改行を入れながら取り込んでいきたいのです。
どうぞ、宜しくお願いします。1バイト文字と2バイトが混同されうまく出来ません。以下の文章で、手を加える場所を教えていただきたく。また別の記述がありましたら教えていただきたく。

Sub test()
Dim openFile As Variant
Dim i As Long, j As Integer, FFile As Integer
Dim myStr As String
Dim myArray
Const myNum = 256 '1行の文字数
'
openFile = Application.GetOpenFilename
If openFile = False Then Exit Sub
FFile = FreeFile
Open openFile For Input As #FFile
ReDim myArray(Rows.Count, 1)
i = 1
Do While Not EOF(FFile)
myStr = ""
For j = 1 To myNum
If EOF(FFile) Then Exit For
myStr = myStr + Input(1, #FFile)
Next j
myArray(i - 1, 0) = myStr
i = i + 1
If i > Rows.Count Then Exit Do
Loop
Range(Cells(1, 1), Cells(i - 1, 1)).Value = myArray
Close #FFile
Erase myArray
End Sub

ルビの印刷に関して 投稿者:hisayo
2005年5月28日(土)13時56分

こんにちは、:Miyamiyaさん。回答をありがとうございます。
ルビは、印刷は改行部分で切れると印刷できない仕様ということなのですね。
多いときで150枚(2段組書式)以上の分量があるので、プレビューでチェックするのは少々厳しいです(涙)
MMは他のエディタに比べて抜きん出た印刷設定ができることもあり、なるべくMMで印刷したいと思っておりますので、バージョンアップの際取り入れる機能のリストに、「改行に差し掛かってもルビ等が印刷できる」を入れていただけたら、うれしいです。
もし可能であるなら、よろしくどうぞお願いいたします。

re:印刷の不具合 投稿者:Miyamiya
2005年5月28日(土)11時43分

hisayoさんへ。
ルビの印刷に関しては、ルビの部分が2行にまたがる場合には、ルビとしては
認識しませんので(ルビは1行で表示するようになっています)、プレビューで
確認してから、印刷をされるようにしてください。

印刷の不具合 投稿者:hisayo
2005年5月27日(金)11時18分

たびたびお世話になっております、hisayoです。
青空→MMルビのマクロをありがたく使わせて頂いてます。
ですが、MMエディタでルビを印刷すると、
\r{漢字}{ひらがな}
の指定コードが印刷表示の改行部分にひっかかるとルビとして印刷せずに、\r{漢字}{ひらがな}
のまま印刷されるようです。
お手すきの時、フォローアップして頂けたら助かります。
よろしくお願い致します。

有難うございました<(__)> 投稿者:hisayo
2005年5月19日(木)13時21分

Miyamiyaさん、マクロの修正を有難うございました。
動作を確認しましたところ、全て問題なく変換できました。
とても使えるマクロを作っていただきまして、ありがとうございました<(__)>
感謝を込めて。

re:原因、分かりました。 投稿者:Miyamiya
2005年5月19日(木)12時27分

hisayoさんへ。
確かに《》の中身が、2行にまたがっていると変換できないようです。
この件を修正した、以下のマクロを使ってみてください。

---------(切り取り線)------------------------------------------------------
main()
{
int i, loop, match, cnt, top, cm;
char s[6400], s2[3200];

DispOff2();
if(Block() == 0 || Block() == 3)
{ // テキスト全体の変換モード
PutChr(71 << 8); // 71 -> すべてを選択
}
BlokCopy();
PutChr(0 << 8); // 0 -> 新規ファイル
BlokIns();
Top();
cm = CurMode();
SetCurMode(1); // セミフリーカーソルモード
while(1)
{
if(Tcode() == 0) // テキスト全体の変換の終わりのチェック
break;
if(KbHit() == 0x1b) // ESCが押された場合は終了
break;
if(Code() == 0x8173) // 《
{ // ■ルビ
Getline(s);
if(Linestat() == 1) // 折れ曲がった行
{
Down();
Getline2(s2);
Up();
strcat(s, s2);
}
if(strstr(s, "》") != NULL)
{
Del();
PutStr("}{");
Left();
Left();
Left();
for(top = 0; Tcode() == 5 && Code() != 0x8162; ) // |
{
if(Cecp() == 0)
{
top = 1;
break;
}
Left();
}
if(Code() == 0x8162) // |
Del();
else if(top == 0)
Right();
PutStr("\\r{");
while(Code() != 0x8174) // 》
Right();
Del();
PutStr("}");
}
else
Right();
}
else if(Code() == 0x816d) // [#「
{ // ■傍点
Getline2(s);
if(Linestat() == 1) // 折れ曲がった行
{
Down();
Getline2(s2);
Up();
strcat(s, s2);
}
if(strncmp(&s[Col()-1], "[#「", 6) == 0
&& strstr(s, "」に傍点]") != NULL)
{
Del();
Del();
Del();
match = cnt = 0;
for(loop = 1; loop; )
{
if(Code() == 0x816e) // ]
loop = 0;
else if(Code() == 0x8176) // 」
match = 1;
if(match == 0)
cnt++;
Del();
}
PutStr("}");
for(i = 0; i < cnt + 1; i++)
Left();
PutStr("\\b{");
for(i = 0; i < cnt; i++)
Right();
}
else
Right();
}
else
Right();
}
DispOn();
SetCurMode(cm); // カーソルモード復帰
Top();
}
---------(切り取り線)------------------------------------------------------


原因、分かりました。 投稿者:hisayo
2005年5月18日(水)22時57分

Miyamiyaさん、何度も動作確認をしていただいてお手数をおかけしております。
変換できない部分はどうやら、《》の中身が改行部分にひっかかると認識しないようです。
原稿用紙モードだと、20字足らずで改行になるので、漢字《》部分の表示がちょん切れる回数が多くなったようです。

 まずい、と思った時にはもう立っていることも出来ず、地べたに腰を下ろして蹲《うずくま》ってしまった。

の例文ですと、私は横書きモードでは一行80字(全角で40字)表示の設定なのでちょうど

 まずい、と思った時にはもう立っていることも出来ず、地べたに腰を下ろして蹲《うず

までで一行です。二行目から

くま》ってしまった。

原稿用紙モードで変換できなかった例題では、20文字目で差し掛かる部分でやはり切れます。

 喧騒を離れれば、素朴な自然と、長閑《の
どか》な景色が広がっている。

 反射的に謝ったけれど、それではまだ治
《おさ》まりがつかないのか、男は再び、

ということで、表示で漢字《ひらがな》が切り離されると、認識されないのではという見解にたどり着きました。

お手すきの時、検証をお願い致します。

re:青空文庫の変換マクロ不具合2 投稿者:Miyamiya
2005年5月18日(水)18時15分

hisayoさんへ。
原稿用紙モードと横書きでは、表示方法が変わるだけで、文章の内容(文字の並び)が
変わるわけではないですから、原稿用紙モードと横書きでの変換結果は変わらないはずです。
書かれている例文にてマクロを実行してみましたが、以下のように変換されて
変換結果には、特に問題ないようです。

まずい、と思った時にはもう立っていることも出来ず、地べたに腰を下ろして\r{蹲}{うずくま}ってしまった。

青空文庫の変換マクロ不具合2 投稿者:hisayo
2005年5月18日(水)13時22分

Miyamiyaさん、動作確認お手数かけました。
原稿用紙表示でマクロを実行していたのですが、横書き表示にしてマクロを実行しましたら、ほとんど変換できました!
以下の一文だけが変換できなかったのですが原因はわかりますでしょうか?

 まずい、と思った時にはもう立っていることも出来ず、地べたに腰を下ろして蹲《うずくま》ってしまった。

re:青空文庫の変換マクロ不具合 投稿者:Miyamiya
2005年5月18日(水)12時19分

hisayoさんへ。
書かれている例文にてマクロを実行してみましたが、以下のように変換されて
変換結果には、特に問題はないようですが。

 喧騒を離れれば、素朴な自然と、\r{長閑}{のどか}な景色が広がっている。遠回りの価値は十分にあるように思えた。

 反射的に謝ったけれど、それではまだ\r{治}{おさ}まりがつかないのか、男は再び、

青空文庫の変換マクロ不具合 投稿者:hisayo
2005年5月18日(水)10時29分

Miyamiyaさん、お騒がせ致しました。選択範囲は合っていたのですが、前記のマクロを一旦ワードに貼り付けたのがいけなかったようです。
マクロは無事、動作いたしました。ご迷惑をおかけしました。

動作確認をしてみたところ、それでもまだ変換しない部分が残っていたのでご報告致します。
変換しなかった部分から、2文ほど抜粋しましたので、お手すきの時に確認をお願いいたします。

 喧騒を離れれば、素朴な自然と、長閑《のどか》な景色が広がっている。遠回りの価値は十分にあるように思えた。

 反射的に謝ったけれど、それではまだ治《おさ》まりがつかないのか、男は再び、

以上です。どうぞ宜しくお願いいたします。

re:マクロが実行しません 投稿者:Miyamiya
2005年5月17日(火)17時31分

hisayoさんへ。
こちらで、このホームページのマクロをコピー、貼り付けして
動作させて見ましたが、問題なく動作します。
コピー又は貼り付けが、うまくできていないのではないでしょうか。
---------(切り取り線)------------------------------------------------------
の下の行から、始まって
最後の行の
---------(切り取り線)------------------------------------------------------
の上の行までの範囲をコピーされてマクロを作れば、動くはずです。
前回のマクロが動いたのであれば、前回と同じようにすればいいはずです。

マクロが実行しません 投稿者:hisayo
2005年5月17日(火)13時49分

Miyamiyaさん、対応してくださいまして有難うございます。
さっそく試してみたのですが、マクロが実行せず、何もおきませんでした。
何度も申し訳ないのですが、確認をお願いいたします。
宜しくどうぞお願いいたします。

re:青空文庫形式マクロについて 投稿者:Miyamiya
2005年5月17日(火)12時19分

hisayoさんへ。
前回のは、ルビの元となる文字列の開始位置を、《 の手前より、
漢字又は、かなの連続したものとして、探していましたが、これは、漢字の連続
したものとして探せばいいようですね。
そのようにした以下のマクロを使って見てください。

---------(切り取り線)------------------------------------------------------
main()
{
int i, loop, match, cnt, top;
char s[6400], s2[3200];

DispOff2();
if(Block() == 0 || Block() == 3)
{ // テキスト全体の変換モード
PutChr(71 << 8); // 71 -> すべてを選択
}
BlokCopy();
PutChr(0 << 8); // 0 -> 新規ファイル
BlokIns();
Top();
while(1)
{
if(Tcode() == 0) // テキスト全体の変換の終わりのチェック
break;
if(KbHit() == 0x1b) // ESCが押された場合は終了
break;
if(Code() == 0x8173) // 《
{ // ■ルビ
Getline(s);
if(Linestat() == 1)
{
Getline2(s2);
strcat(s, s2);
}
if(strstr(s, "》") != NULL)
{
Del();
PutStr("}{");
Left();
Left();
Left();
for(top = 0; Tcode() == 5 && Code() != 0x8162; ) // |
{
if(Cecp() == 0)
{
top = 1;
break;
}
Left();
}
if(Code() == 0x8162) // |
Del();
else if(top == 0)
Right();
PutStr("\\r{");
while(Code() != 0x8174) // 》
Right();
Del();
PutStr("}");
}
else
Right();
}
else if(Code() == 0x816d) // [#「
{ // ■傍点
Getline2(s);
if(Linestat() == 1)
{
Getline2(s2);
strcat(s, s2);
}
if(strncmp(&s[Col()-1], "[#「", 6) == 0
&& strstr(s, "」に傍点]") != NULL)
{
Del();
Del();
Del();
match = cnt = 0;
for(loop = 1; loop; )
{
if(Code() == 0x816e) // ]
loop = 0;
else if(Code() == 0x8176) // 」
match = 1;
if(match == 0)
cnt++;
Del();
}
PutStr("}");
for(i = 0; i < cnt + 1; i++)
Left();
PutStr("\\b{");
for(i = 0; i < cnt; i++)
Right();
}
else
Right();
}
else
Right();
}
DispOn();
Top();
}
---------(切り取り線)------------------------------------------------------


青空文庫形式マクロについて 投稿者:hisyao
2005年5月16日(月)14時24分

Miyamiyaさん、MMエディタ用の青空文庫形式マクロを作成していただきまして、有難うございます。
動作確認してみましたところ、全て|で範囲を指定してあげないと、ルビを振ってくれなかったり、まったく違う位置にルビを振ったりと、動作が不安定になってしまうようです。
|は省けるところは省いたほうが入力が楽なので、《》のみでルビ指定している場合が常なので、少々不便です。
可能でしたら、修正してもらえたら嬉しいです。
宜しくどうぞお願いいたします。

re:青空文庫形式について 投稿者:Miyamiya
2005年5月14日(土)17時03分

hisayoさんへ。
青空文庫形式のルビと傍点をMMエディタ形式へ変換するマクロを作ってみましたので、
使ってみてください。範囲指定していないときは文書全体が、範囲指定してあるときは
その範囲が対象となります。
新規ファイルを開いて、その中へ対象となる文章をコピーして、そこで変換を行います。
変換後のテキストで印刷をされるといいです。

---------(切り取り線)------------------------------------------------------
// MMエディタ用[青空文庫形式→MMエディタ形式変換 マクロ]
// ・変換例
// ■ルビ
//  武州青梅《ぶっしゅうおうめ》の宿 ⇒ \r{武州青梅}{ぶっしゅうおうめ}の宿
//  武州|青梅《おうめ》の宿 ⇒ 武州\r{青梅}{おうめ}の宿
// ■傍点
//  胡麻塩おやじ[#「おやじ」に傍点] ⇒ 胡麻塩\b{おやじ}

main()
{
int i, loop, match, cnt;
char s[6400], s2[3200];

DispOff2();
if(Block() == 0 || Block() == 3)
{ // テキスト全体の変換モード
PutChr(71 << 8); // 71 -> すべてを選択
}
BlokCopy();
PutChr(0 << 8); // 0 -> 新規ファイル
BlokIns();
Top();
while(1)
{
if(Tcode() == 0) // テキスト全体の変換の終わりのチェック
break;
if(KbHit() == 0x1b) // ESCが押された場合は終了
break;
if(Code() == 0x8173) // 《
{ // ■ルビ
Getline(s);
if(Linestat() == 1)
{
Getline2(s2);
strcat(s, s2);
}
if(strstr(s, "》") != NULL)
{
Del();
PutStr("}{");
Left();
Left();
Left();
while((Tcode() == 4 || Tcode() == 5) && Code() != 0x8162) // |
Left();
if(Code() == 0x8162) // |
Del();
else
Right();
PutStr("\\r{");
while(Code() != 0x8174) // 》
Right();
Del();
PutStr("}");
}
else
Right();
}
else if(Code() == 0x816d) // [#「
{ // ■丸傍点
Getline2(s);
if(Linestat() == 1)
{
Getline2(s2);
strcat(s, s2);
}
if(strncmp(&s[Col()-1], "[#「", 6) == 0
&& strstr(s, "」に傍点]") != NULL)
{
Del();
Del();
Del();
match = cnt = 0;
for(loop = 1; loop; )
{
if(Code() == 0x816e) // ]
loop = 0;
else if(Code() == 0x8176) // 」
match = 1;
if(match == 0)
cnt++;
Del();
}
PutStr("}");
for(i = 0; i < cnt + 1; i++)
Left();
PutStr("\\b{");
for(i = 0; i < cnt; i++)
Right();
}
else
Right();
}
else
Right();
}
DispOn();
Top();
}
---------(切り取り線)------------------------------------------------------


青空文庫 追記2 投稿者:hisayo
2005年5月13日(金)13時45分

また、失礼致します。
こちらは、説明は長いのですが(詳しいです)、画像付きだったので念のためこちらもurl乗せておきますね。
http://www.aozora.gr.jp/KOSAKU/MANUAL_2.html

青空文庫 追記 投稿者:hisayo
2005年5月13日(金)13時35分

何度も失礼いたします。hisayoです。
本家青空文庫ページの説明ページを見つけましたので追記します(深い階層に説明がありました)
http://www.aozora.gr.jp/KOSAKU/txt_chu_kigo.html
お手数をお掛けしますが、どうぞ宜しくお願いいたします。

青空文庫形式について 投稿者:hisayo
2005年5月13日(金)13時17分

こんにちは。レスをありがとうございます。hisayoです。
青空文庫形式のルビや傍点をMMエディタに変換するマクロは、作れるかもしれませんとの回答に感激しております。有難うございます!

青空文庫形式の丸傍点&ルビについて

■丸傍点
                     ’’’
胡麻塩おやじ[#「おやじ」に傍点]→胡麻塩おやじ
                      ・・・
胡麻塩おやじ[#「おやじ」に丸傍点]→胡麻塩おやじ
                       ○○○
胡麻塩おやじ[#「おやじ」に白丸傍点]→胡麻塩おやじ


■ルビ
ルビの振りたい漢字の横に《》でくくって振り仮名を振ります。範囲を指定する場合には、始めたい言葉の前に|を入れます。
例としてはこんな感じです。
                ぶっしゅうおうめ            
武州青梅《ぶっしゅうおうめ》の宿⇒武州青梅の宿
               おうめ            
武州|青梅《おうめ》の宿⇒武州青梅の宿

といった感じです。
青空文庫形式は、他にhtmlに変換できるソフトやエディタ、ビューアなども豊富なので、MMエディタでも互換があれば、用途が広がりますね。楽しみにしております。
ワードやQXエディタで変換マクロを見つけました。参考になるか分からないのですが、アドレスを明記しておきますね。。

□青空文庫形式→ワード変換 マクロ
http://www.vector.co.jp/soft/winnt/writing/se272800.html?y
□QXエディタ形式←→青空変換 マクロ
http://www.valley.ne.jp/~yod/data/macro/qmac_017.html

ちなみに本家、青空文庫のページ(ですが現在、表記の説明が改訂前で工事中になっているもようです)
http://www.aozora.gr.jp/

re:できましたら 投稿者:Miyamiya
2005年5月13日(金)11時20分

hisayoさんへ。
青空文庫形式のルビや傍点をMMエディタに変換するマクロは、作れるかもしれません。
印刷時だけそのマクロで印刷用のテキストを作って、MMエディタで印刷すれば
よさそうですね。
青空文庫形式のルビや傍点は、どのような形式があるでしょうか。
ルビや傍点以外にも、変換したいものがあれば一緒に教えてください。

できましたら 投稿者:hisayo
2005年5月12日(木)13時51分

こんにちは。MMエディタを使わせて頂いております、hisayoです。
当方青空文庫形式で小説を書いており、MMエディタで執筆していても、印刷の際は他ソフトで印字せざるを得ません(MMエディタにはテキストエディタとは思えないほど印刷機能が備わっているのに、勿体無いなくて)
青空文庫形式のルビも、印刷に対応できる機能があったら嬉しく思います。
それが無理なようでしたら、青空文庫形式とMMエディタのルビや傍点などを一括変換し合えるようなマクロやツールがあれば、と思います。
どうぞ、宜しく検討をお願い致します。

なんとか設定できました、お世話さまでした。 投稿者:柴田幸男
2005年4月26日(火)20時37分

何時もお世話になっています。
おかげさまで、短縮入力ツールの設定も上手くいきました。

短縮入力 +
. 検索系 +
. 検索モード系 +


と、SAMPLE.MMIもOKとなりました。

それにしてもMMはすごいエディタですね。
設定項目の多さに迷いましたが。
それくらい機能も豊富と言うことでしょう。
これらを自由自在に使いこなせたらものすごい「TOOL」ですね。

それから、CTRL + Q・V も解決!
CTRL + R・H で、HTML文を書いただけではだめで、
一度HDDにファイルとして書き込み、
それをMMで読み込んで実行したらみごとOKでした。

細かいご指導、ありがとうございました。
柴田幸男

re:MMSHO700上手くできません! 投稿者:Miyamiya
2005年4月26日(火)11時47分

柴田幸男さんへ。
>環境設定 K ウインドウ −> ここでエンター すると。
>テキストの自動保存を実行するのチェックボックス 切り替え チェック無し A
>↑のメッセージへと進みます!
ここから、Ctrl+Tabキーで、
短縮文字列 01 の文字入力 のメッセージがあるところまで進んでください。
そこが、短縮入力の設定画面です。
そこから、Tabキーで、
[短縮入力ツールで入力ファイル(*.mmi)を使用する] のチェックボックスまで
移動してください。

MMSHO700上手くできません! 投稿者:柴田幸男
2005年4月26日(火)07時27分

何時もお世話になっています。

入力ファイル(*.mmi)の設定方法は、
[環境設定] -> [短縮入力文字列の設定] -> [短縮入力ツールで入力ファイル(*.mmi)         ↑ここへたどり着けません!

ALT −> その他 T トップメニュウ −> 
環境設定 K ウインドウ −> ここでエンター すると。
テキストの自動保存を実行するのチェックボックス 切り替え チェック無し A
↑のメッセージへと進みます!
この後TAB&↓↑をしても、
[短縮入力文字列の設定]を見つける事が出来ません!
どこで道に迷っているのか、
そろそろ疲れてきました!

それから、CTRL +Q ・ V でのHTMLの実行も上手くいきません。

しばらく時間を置いて、またやってみます。
ご指導ありがとうございました。

柴田幸男

●私へのメール:miyamiya@po.saganet.ne.jp
戻る