>現在メーリングリストの調子が悪いようです。復旧は月曜以降になりそうという
>ことです。
meshネットのfmlは古いですからねぇ。この機会に最新版に
アップデートしてくれると良いんですが。。。
現状ではどうしようもないですね。
あ、一応Macro MLの方もarakenさんのサポート場になって
いるのでもしかしたら、そちらで返事をくれるかもしれません
が、arakenさんの巡回ペースを考えるとQX-MLが復旧するのを
待ってから再度投稿しても変わらないかもしれませんね。
#というかかわらなそう。(笑)
一応URLを。
http://qxmac.com/
>書式設定でテキストの行間を指定するとルーラーの背景色と行番号背景色との間に
>文字入力面の背景色がそのまま表示されて途切れたような感じになります。
>このスペースを行番号の背景色で埋められれば
私はルーラーも行番号も表示していないので、気が付きませんでした。
確かに、この隙間は行番号の背景色と同じ方が良いかも知れませんね。
対応されるかどうか araken さん次第ですが、マクロで色を付ける方
法もあるかもしれません。各人で表示の環境が違うので専用マクロに
なりますが、以前JUNさんがボーダーラインを強制的に表示するマ
クロを作っておられたので、可能だと思います。
私には到底無理ですが、QXの編集画面のX座標とY座標を指定して、
色を指定してその場所に表示させるといったマクロだったかと。
yook
三浦です。こんにちわ。
QXを使っていて、頻繁に桁数を変更します。
そこで、よだひでとさんの「作家用マクロ」の「Write」というマクロを
愛用しています。
ひとつだけ気になっているところがあるんですが、
桁数を変更すると必ずページ行数が設定されてしまうことです。
新規文書を作成するときは、書式設定ツールの「桁数」で
桁数50文字、ページ行数のチェックをオフにしていますが、
マクロを使って桁数変更をするとかならず行数を指定しなければならず、
いつも999と打ち込んでいます。
つまり、ページ行数はずっとOFFにしておきたいんですが、
どうしていいものやらわかりません。
わからないながらもマクロを変更したりしたんですが、それもだめでした。
どなたかよきアドバイスをお願いします。
------------
QXMLが調子悪いので、こちらに書かせていただきました。
>ひとつだけ気になっているところがあるんですが、
>桁数を変更すると必ずページ行数が設定されてしまうことです。
@PrintNumber=1 という行がありますので、この行をコメントアウトしてくださ
い。行数に関する部分が必要なければ、ひとつめの end if から exit proc の
直前までぜんぶコメントアウトして、@Width=Moji_Suu の行のみ有効にしてくだ
さい。
うちのサイトの「マクロ倉庫」にも「字詰め変更マクロ」というのがあります。
ウリは「履歴」です。たぶん他のかたのもあります。
>
>@PrintNumber=1 という行がありますので、この行をコメントアウトしてくださ
>い。行数に関する部分が必要なければ、ひとつめの end if から exit proc の
>直前までぜんぶコメントアウトして、@Width=Moji_Suu の行のみ有効にしてくだ
>さい。
ありがとうございます。さっそく試してみます。
>
>うちのサイトの「マクロ倉庫」にも「字詰め変更マクロ」というのがあります。
>ウリは「履歴」です。たぶん他のかたのもあります。
みなさん、字詰めには苦労しているんですかねぇ…。
>みなさん、字詰めには苦労しているんですかねぇ…。
いや、わたしの場合、ふだんはぜんぜん変更しないんですが、たまに必要になっ
て、そのときの気分がマクロ作りな方向に行ってると、とりあえずあったらよさ
そうな機能は入れて作っておこうかな、となったりします。
QXは書式も15種類設定しておけて、マクロを使えば書式の切り替えも簡単な
ので、字詰めに関しては便利なほうなんじゃないでしょうか。あと、段掛けなん
ていうマニアックと言えそうな機能もありますし……。(これは itam さんのマ
クロを使って設定するのが便利です。)
三浦です。どうもどうも。
>いや、わたしの場合、ふだんはぜんぜん変更しないんですが、たまに必要になっ
>て、そのときの気分がマクロ作りな方向に行ってると、とりあえずあったらよさ
>そうな機能は入れて作っておこうかな、となったりします。
なるほど。僕は仕事柄字数を決めて文章を書くことが多いので、
エディタを選ぶときに字数変更が簡単なものという条件で
探したりします。
>
>QXは書式も15種類設定しておけて、マクロを使えば書式の切り替えも簡単な
>ので、字詰めに関しては便利なほうなんじゃないでしょうか。あと、段掛けなん
>ていうマニアックと言えそうな機能もありますし……。(これは itam さんのマ
>クロを使って設定するのが便利です。)
以前、QXMLでこの話題を出したのですが、かなり便利ですね。
愛用しております。5段以上は使えないみたいなんですけど…。
僕の目指すエディタはMS-DOS「松」です(苦笑)。
あ、ちなみに教えていただいた方法で
行数カウントは向こうになりました。
ありがとうございました_(._.)_。
>あ、ちなみに教えていただいた方法で
>行数カウントは向こうになりました。
>ありがとうございました_(._.)_。
しまった、最初のコメントで、行数ではなく、行番号表示をオフにしたい
のかと誤解してました。そういうわけで、行数を無効にするには後半を
全部コメントアウトするほうの方法じゃないとダメでしたね。
うまくいったようでよかったですが。
試用中のNAGと申します.
WordStar風の2ストロークキー,ダイアモンドカーソル等をきちんと実現し
てくれるEditorがあまりなくて,やっとQXにたどりつきました. SetUp画面
で WordStar風とあるのに感激し,実際使ってみてまた嬉しくなりました.
しかし,ここでお尋ねしてよいのかわかりませんが(MLには参加していません),
私の環境では初期立ち上げ時などでツールバーが表示されるとき,著しく表示の速
度が遅いのです.ツールバーのアイコンが左から1秒おきぐらいにトントントンと
いった具合で表示されるのです.また,「ファイル」や「編集」などのプルダウン
メニューが表示されるときも,非常に遅いのです.文章そのものは一瞬で表示され,
カーソル移動,スクロール等の実際の編集作業は何の問題も無く快適です.
インストール時には「シンプル」(という表現だったと思います)を選んでいます.
ちなみに,マシンは東芝Libretto L1,OSはWindowsMe,他のアプリケーションで
は特にこのような現象は見られません.
QXが使いやすそうなだけに,この現象が気になり,使い続けようか迷っていると
ころです.何らかの設定で改善できるでしょうか? コメントをいただければ幸
いです.
>いった具合で表示されるのです.また,「ファイル」や「編集」などのプルダウン
>メニューが表示されるときも,非常に遅いのです.文章そのものは一瞬で表示され,
アニメーションがONになっているような気がします。
アニメーションはWindowsの機能で、それらをわざと遅く
表示する機能です。なぜかQXはこれがかなり遅いようですが、
よく考えるとアニメーションがONになっているのに、OFFの
時と同じ動作をする(QX以外のほとんどの)プログラムの方が
おかしいような気もしないでもないような気がするような。
そんなこんなで、アニメーションをOFFにしてみてください。
デスクトップを右クリックしてプロパティの中の効果に
あります。
itamさん,さっそくコメント有難うございます.
> そんなこんなで、アニメーションをOFFにしてみてください。
>デスクトップを右クリックしてプロパティの中の効果に
>あります。
早速,調べてみましたが,もともとアニメーション等の視覚効果は
すべてOFFにして使っていました.ONにしてみても,ほとんど現象
にはかわりがありません.
こういうのはメーリングリスト向けの話題だと思います、が、現在メーリングリ
ストが不調で、参加して作者に質問してください、とも言えない状況です。
いま、メーリングリストの全過去ログに QGrep をブロック検索で「表示 and 遅」
でかけてみました。「常駐ウイルスソフトの影響」というのがひっかかって
きました。Virus Scan やウイルスバスターのリアルタイム監視モードとの相性
が悪いようです。
念のため最新版を使ってみてください。それでもダメならやっぱり作者に対応し
てもらえるメーリングリストで相談なさるしかないかもしれません。
いつもお願いばかりで申し訳ありません。現在編集中のファイルで使われ
ている文字列が何回現れるかを調べるマクロを希望しています。操作とし
ては:
(1) カウントしたい文字列をハイライトする
(2) マクロを実行する
(3) 使用されている個数を表示する。
というものです。
現在、検索と置換のボックスに同じ文字列を入力して、[全置換] で置換
回数を確認しているのですが、これをもっと簡単にできたらと思った次第
です。
ご尽力いただければ幸いです。
p.s. qx@mxe.mesh.ne.jpにメールを送ってもどうしても受け付けられないので
こちらを見つけて質問させていただきました。
どうぞよろしくお願いいたします。
========
KENMOTU Kensaku
kecxo@muzika.forum.ne.jp
>いつもお願いばかりで申し訳ありません。現在編集中のファイルで使われ
>ている文字列が何回現れるかを調べるマクロを希望しています。操作とし
>ては:
>
>(1) カウントしたい文字列をハイライトする
>(2) マクロを実行する
>(3) 使用されている個数を表示する。
文字列の使用回数を調べるだけならば、次のマクロで実行できると思います。
proc main
dim srchstr$, c, n
srchstr$ = inputbox$("検索する文字列を入力してください。", " * 文字列の使用回数を調査 * ", "", "")
if srchstr$ = "" or srchstr$ = chr$(&H1B) then exit proc
@MoveFileTop
c = len(srchstr$)
if left$(@TextCr$(@Line), c) = srchstr$ then
n = 1
end if
do while 1
@FindStringBottom srchstr$
if @@SearchFound = 0 then exit do
n++
loop
call msgbox(srchstr$ + " は " + cformat$("%d", n) + " 個見つかりました。", 0, " * 文字列の使用回数を調査 * ")
end proc
文字列の強調表示に関しては、よださんの公開なさっている「単語を強調表
示するマクロ」を使うことができます。次の場所からダウンロードできます。
http://www.valley.ne.jp/~yod/sippitu.html
一つのマクロで実行することも可能でしょうが、よださんのマクロはすでに
公開されているものなので、とりあえずこのまま挙げておきます。
# マクロに何か問題がありそうでしたら、ご指摘をお願いいたします。>マク
# ロ作者の方々
>p.s. qx@mxe.mesh.ne.jpにメールを送ってもどうしても受け付けられないので
>こちらを見つけて質問させていただきました。
>どうぞよろしくお願いいたします。
メーリングリストは現在調子が悪いようです。いずれ復旧してからご参加く
ださい。
削除済み
ちょっと訂正です。
@Redraw を入れたのと、検索結果を表示するメッセージボックスで、検索文
字列をダブルクオートで囲むようにしました。
'文字列の使用回数を調査
proc main
dim srchstr$, c, n
srchstr$ = inputbox$("検索する文字列を入力してください。", " * 文字列の使用回数を調査 * ", "", "")
if srchstr$ = "" or srchstr$ = chr$(&H1B) then exit proc
@Redraw = 0
@MoveFileTop
c = len(srchstr$)
if left$(@TextCr$(@Line), c) = srchstr$ then
n = 1
end if
do while 1
@FindStringBottom srchstr$
if @@SearchFound = 0 then exit do
n++
loop
@Redraw = 1
call msgbox("""" + srchstr$ + """" + " は " + cformat$("%d", n) + " 個見つかりました。", 0, " * 文字列の使用回数を調査 * ")
end proc
>(1) カウントしたい文字列をハイライトする
>(2) マクロを実行する
>(3) 使用されている個数を表示する。
ちょっと趣旨を誤解していました。
@Redraw = 0 の前の行までを、次のように変更するとご希望通りではないか
と思います。
proc main
dim srchstr$, c, n
if @Select = 1 or @Select = 2 then
@BlockClipboardCopy
srchstr$ = clipboard$()
else
srchstr$ = inputbox$("検索する文字列を入力してください。", " * 文字列の使用回数を調査 * ", "", "")
if srchstr$ = "" or srchstr$ = chr$(&H1B) then exit proc
end if
まだ慣れないもので、たびたび訂正してすみません。
そうなんです、メーリングリストの調子が悪いようで……。
すでに CINEPHILE さんがマクロをアップしてくださってますが、もっと原始的
に、全置換の個数確認を自動実行するだけだと、こんなのになります。ステータ
スバーに「n 個置換しました」と表示されるのを見落とさないで読む必要があり
ます。
proc main
dim n, s$
if @Select = 0 then exit proc '選択してないと実行しません
s$ = @TextSelect$
@Select = 0
n = @@FindFromTop
@@FindFromTop = 1
@UndoBlock = 1
@ReplaceString2 s$, s$, 1
@UndoBlock = 0
@@FindFromTop = n
end proc
そういえば、この置換個数をマクロで参照できたらいいのに、と以前から思って
たんですが、できないんですよね。なんか方法あるのかもしれませんが……。
CINEPHILE さん、かぶねこさん。マクロを作ってくださり、ありがとうご
ざいました。おかげで目的を達成することができました。
ただ、わがままを言わせていただくと、マクロ実行後、カーソルが、マク
ロを実行した位置に戻ってくれるとさらにありがたいかなあ、と思った次
第で・・・
お手すきのときにでもご一考いただければ、とても幸せです。
>ただ、わがままを言わせていただくと、マクロ実行後、カーソルが、マク
>ロを実行した位置に戻ってくれるとさらにありがたいかなあ、と思った次
>第で・・・
これでどうでしょうか。
proc main
dim srchstr$, c, n, x, y
if @TextSelect$ = "" then
srchstr$ = inputbox$("検索する文字列を入力してください。", " * 文字列の使用回数を調査 * ", "", "")
if srchstr$ = "" or srchstr$ = chr$(&H1B) then exit proc
else
srchstr$ = @TextSelect$
end if
x = @BytePos
y = @Line
@Redraw = 0
@MoveFileTop
c = len(srchstr$)
if left$(@TextCr$(@Line), c) = srchstr$ then
n = 1
end if
do while 1
@FindStringBottom srchstr$
if @@SearchFound = 0 then exit do
n++
loop
@BytePos = x
@Line = y
@Redraw = 1
call msgbox("""" + srchstr$ + """" + " は " + cformat$("%d", n) + " 個見つかりました。", 0, " * 文字列の使用回数を調査 * ")
end proc
@BlockClipboardCopy を使うとクリップボードに入るので、かぶねこさんの
投稿を参考にして、@TextSelect$ に変更しました。実は、このようなプロパ
ティがあることを知らなかったので、以前からちょっと悩んでいました。
# 途中からマクロの勉強のようになってしまいましたが、やはりそつのない仕
# 事をするのは容易ではありませんね。普段はすでに出来上がったマクロを使
# わせていただく側なので、なかなか気がつきませんが。
これで最後だといいのですが……。
マクロの終了前にカーソル位置を復元するところで、先に行を指定しないと
位置がくるってしまうことがあるようです。
したがって、
@Line = y
@BytePos = x
のように、順番を入れ替えてください。
はじめまして。
最近「ワードを捨ててエディタ・・・」を購入し使い始めた初心者です。
この本の中で文字の上に線を引く「文字消し」ができることを知り色々と
試したのですが出来ませんでした。
基本的な質問でお恥ずかしい次第です。
諸先輩方、ご指導下さい。
よろしくお願いします。
CINEPHILE さん、@TextSelect$ が参考になってよかったです。もちろんわたし
もどなたかのマクロを読んで覚えました。マクロで使えるコマンドに何があるか
というのはなかなか全部把握しておけませんよね。ときどき増えますし。
kenmotsu さん、やっぱりカーソル位置復帰はあったほうがいいですよね。原始
的マクロで復帰関係が多くなると「本文」の割合が少なくなってしまって本末転
倒ですし、CINEPHILE さんのがありますが、ついでに。
proc main
dim pos, line, top
pos = @BytePosCr
line = @Line
top = @Line - @TopLine
dim n, s$
if @Select = 0 then exit proc
s$ = @TextSelect$
@Select = 0
n = @@FindFromTop
@@FindFromTop = 1
@UndoBlock = 1
@ReplaceString2 s$, s$, 1
@UndoBlock = 0
@@FindFromTop = n
@Line = line
@ByteposCr = pos
@TopLine = @Line - top
end proc
かぶねこさん,コメントありがとうございます.
>こういうのはメーリングリスト向けの話題だと思います、が、現在メーリングリ
>ストが不調で、参加して作者に質問してください、とも言えない状況です。
いずれ,MLにも参加させていただきます.
>でかけてみました。「常駐ウイルスソフトの影響」というのがひっかかって
>きました。Virus Scan やウイルスバスターのリアルタイム監視モードとの相性
>が悪いようです。
>
>念のため最新版を使ってみてください。それでもダメならやっぱり作者に対応し
>てもらえるメーリングリストで相談なさるしかないかもしれません。
ウイルスソフトは常駐させていません.QXも最新版です.
うーん,困ったなぁ. でもきっとなにか私の環境が悪さしているのでしょうね.
MLで相談してみます.有難うございました.
QX付属のヘルプのキーワードから「メモ機能」の項目をひくと、ごく基本的な
説明があります。(説明がそっけないので、ときにわかりにくいかも。)
具体的には、
{中線}ここは文字消し{/中線}
{中線太}ここは文字消し{/中線太}
{中線2}ここは文字消し{/中線2}
などと入力し、同時に印刷の書式設定で「{}有効」にチェックを入れて、印刷
のプレビューをしてみてください。
よだ さんの「印刷メモ埋め込みマクロ」などを使うと便利かもしれません。
http://www.valley.ne.jp/~yod/data/macro/qmac_006.html
かぶねこ様
教えていただいた方法で試したところ出来ました。
とても早い回答で非常に助かりました。
解らないことがあったらまた質問させていただきます。
ありがとうございました。
CINEPHILE さん、かぶねこさん。希望どおりのマクロを作っていただき、
さらに作業効率が向上しました。本当にどうもありがとうございました。
CINEPHILE さんのマクロはファイルの先頭からのすべての出現回数。かぶ
ねこさんのマクロは、現在のカーソル位置からの出現回数を検出するよう
に使い分けられますね。
>CINEPHILE さん、@TextSelect$ が参考になってよかったです。もちろんわたし
>もどなたかのマクロを読んで覚えました。マクロで使えるコマンドに何があるか
>というのはなかなか全部把握しておけませんよね。ときどき増えますし。
おっしゃるとおりですね。マクロのヘルプを通読するのは――挑戦したこと
はありませんが――味気なくて記憶にも残りにくいですし、やはり他の方のマ
クロの中で使われている実例が一番参考になります。言語の習得と通じるとこ
ろがありそうです。
ところで、別の投稿の件ですが、
>そういえば、この置換個数をマクロで参照できたらいいのに、と以前から
思って
>たんですが、できないんですよね。なんか方法あるのかもしれませんが…
…。
@@ReplaceCount では駄目なのでしょうか。あるいは、これが使えないような
場合のことでしょうか。
CINEPHILE さん、どうも。
>@@ReplaceCount では駄目なのでしょうか。
え、あったんですね。探せてませんでした。ヘルプに記述がないですが、
@ReplaceString2 でも数字がちゃんと返ってくるみたいですね。いやあ、ありが
とうございます。
>CINEPHILE さんのマクロはファイルの先頭からのすべての出現回数。かぶ
>ねこさんのマクロは、現在のカーソル位置からの出現回数を検出するよう
>に使い分けられますね。
が〜ん。意図した動作ではありませんでした。@ReplaceString2 では
@@FindFromTop の指定が効かないことを忘れてました。そういうふうに使ってい
ただけるならけっこうです。
いちおう自分用に意図どおりに動くようにしました。@MoveFileTop を削除すれ
ばカーソル位置以降で検索します。
proc main
dim pos, line, top
pos = @BytePosCr
line = @Line
top = @Line - @TopLine
dim i, s$
if @Select = 0 then exit proc
s$ = @TextSelect$
@Select = 0
'同一文字列で置換すると UNDO がいらないらしい
@MoveFileTop
@ReplaceString2 s$, s$, 1
i = @@ReplaceCount
@Line = line
@ByteposCr = pos
@TopLine = @Line - top
print "Count: " + str$(i)
end proc
いやあ、今回はたいへん勉強になりました。CINEPHILE さん、kenmotu さん、あ
りがとうございました。
>教えていただいた方法で試したところ出来ました。
うまくいってよかったです。
>解らないことがあったらまた質問させていただきます。
はい、ここではわたしのほかにもいろいろなかたが回答してくださってますので、
たいていわりと早く返事があります。有効利用してQXを活用してください。
たくきさんの本を購入し、今日から使い始めた初心者です。
全く基本的なことですが、QXで作成した文書をテキストファイルで保存しようとしても、テキストファイルになりません。これはいったいどういうことでしょうか。とほほ。だれか教えてください。
>QXで作成した文書をテキストファイルで保存しようとしても、
>テキストファイルになりません。
標準の状態では、テキストファイルとして保存するために「.txt」と拡張子を
付ける必要があります。
これを「特に指定しない場合はTXTとして保存する」ようにするための設定が、
ここの21番フォーラム「FAQ集」内、No.20の発言にあります。
http://0ban.com/forum/read.cgi?f=21&t=0&no=20&c=1
まず、QXで作成した文書はすべてテキストファイルです。
「テキストファイル」というのは、「バイナリファイル」と対立する概念で、す
べてのテキストエディタ、ワードプロセッサ、メーラーなどで読めます(たいて
い保存のほうもできます。) 拡張子がなんであれ、ファイルの内容が「テキス
ト」であればテキストファイルです。
いっぽう、ウィンドウズでは「拡張子による関連づけ」というのをやります。特
定の拡張子は特定のアプリケーションと1対1でペアにしてしまう方式です。こ
の方式でいうテキストファイルは txt という拡張子がついたファイル、という
ことになります。
ですからファイルを作成して、保存の時にファイル名を指定するときに、「.txt」
とつければ、この意味でのテキストファイルになります。また、これを自動化す
るためには、「共通設定」−「開く」の「デフォルト拡張子」のところに、
「txt」と設定してください。拡張子をじぶんで指定しなかったときに自動的に
txt という拡張子がつくようになります。
いっぽう、QXは拡張子により15種類の書式(編集ウィンドウの見た目や見出
し、箇条書き文字の指定)を自動で読み込みます。HTML ファイルをはじめ、い
ろいろな拡張子を使い分けるほうが、テキストエディタを便利に使えます。
うちのサイトのQXページでこのへんも少し解説してます。参考になれば。
http://homepage1.nifty.com/kabuneko/qx/qxintro1.htm
ふたみ さん、すばやい的確なレス、ありがとうございました。
テキストファイルは txt がついたもの、と割り切ったほうがわかり
やすいかもしれませんね。その後のことは、また考えるとして。
QXユーザーズ・マクロ・ヘルプにある,まんぼう さんの「簡易アンダーライン作成マクロ」が欲しいのですが見付けられません。
文字列を選択して,マクロを実行するとその文字列の下に「^^^^^^^^^^^」が入力されるだけで結構ですので,どなたかマクロを作っていただけないでしょうか。
宜しくお願いします。
まんぼう さんのサイトからQXマクロのコーナーがなくなったみたいですねえ。
こんなんでいいでしょうか。テスト不足かもしれません。あと1行長さなどは環
境にあわせて変更してください。
'すぐ下に1行追加でアンダーライン 2001/09/20 Kabuneko
proc main
if @hwnd = 0 then exit proc
if @Select = 0 then exit proc
dim m, n
'選択文字列のバイト数を取得
m = lenb(@TextSelect$)
'選択された文字列が長すぎるか1行が長すぎるとき中止
if m > 80 or lenb(@TextCr$(@Line)) > 80 then exit proc
@UndoBlock = 1
'行のなかでの選択開始位置を取得
n = instrb(@TextCr$(@Line),@TextSelect$)
@Select = 0
@MoveEndLine
@CharReturn2
@Insert space$(n-1)
@Insert string$(m,`~`)
@UndoBlock = 0
end proc
追加です。アンダーラインに使う文字(半角限定)はこの行を好みに
合わせてください。
> @Insert string$(m,`~`)
`~` を `^` に、などです。
選択状態が対応範囲外のときの処理とか、いちおう少し行儀よくして
みました。こっちを使ってください。(最初からちゃんと条件分岐が
考えられれば、何度も書き込まずにすむんですが、なかなか。)
'すぐ下に1行追加でアンダーライン 2001/09/20 Kabuneko
proc main
if @hwnd = 0 then exit proc
'1行が長すぎるとき中止
if lenb(@TextCr$(@Line)) > 80 then
print "ERROR: 1行が長すぎます"
exit proc
end if
'未選択または改行をまたいでいるときは中止
if @TextSelect$ = "" then
print "ERROR: 1行以内で選択してから実行してください"
exit proc
end if
dim m, n
'選択文字列のバイト数を取得
m = lenb(@TextSelect$)
@UndoBlock = 1
'行のなかでの選択開始位置を取得
n = instrb(@TextCr$(@Line),@TextSelect$)
@Select = 0
@MoveEndLine
@CharReturn2
@Insert space$(n-1)
@Insert string$(m,`^`)
@UndoBlock = 0
end proc
かぶねこ さん,マクロありがとうございます。
ちょっと,まごつきました。実は,タブを多用しておりまして。
スペースに変換してから実行すると完璧です。
そうですよね,タブが入ると正確な位置を取得できないですものね。
て,本当はよく解っていない。σ(^_^;)?
でも,私の場合,スペースを連打するのが面倒なのでタブを使っているだけで,
全然,問題ありません。
>そうですよね,タブが入ると正確な位置を取得できないですものね。 カーソルの x 位置なら簡単に取得できるんですが、選択文字列の場合、カーソ ル位置はそのうちの前だったり後ろだったりします。 タブに対応する方法もたぶんありますが、面倒でマクロも長くなりそうです。タ ブ幅が書式依存なので、アンダーラインをテキストでつけるにはスペースのほう が安心かと思います。 タブをスペースに変換するには BlockToSpace 機能を選択時の右クリックメニュ ーに追加すると便利ですよ。QXフォルダの QXWKEY.INI (これがキー定義ファ イル)の Popup "編集" のところに "タブをスペースへ" BlockToSpace "スペースをタブへ" BlockToTab を追加してQXを再起動します。Boogie さんはすでにご存知かもしれませんが、 ここを読んでいるかもしれない他のかたへの情報としても書いておきます。 ともかく、マクロが役に立ったようでよかったです。
削除済み
この掲示板はお初になります。皆様宜しくお願いいたします。
> >そうですよね,タブが入ると正確な位置を取得できないですものね。
>
> カーソルの x 位置なら簡単に取得できるんですが、選択文字列の場合、
> カーソル位置はそのうちの前だったり後ろだったりします。
タブ桁を変換する自作の関数でも使おうか……と最初思ったんですが、考え
てみると、開始と終了の2箇所くらいならカーソル自体動かしちゃうのが手っ
取り早いかもしれませんね。
試しに、(私なんぞがするのはたいへん恐縮ですが)、 かぶねこ さんの作
品をちょっと改変させていただきます。
proc main
if @hwnd = 0 then exit proc
'1行が長すぎるとき中止
if lenb(@TextCr$(@Line)) > 80 then
print "ERROR: 1行が長すぎます"
exit proc
end if
'未選択または改行をまたいでいるときは中止
if @TextSelect$ = "" then
print "ERROR: 1行以内で選択してから実行してください"
exit proc
end if
dim m, n, mb, nb
@UndoBlock = 1
'行のなかでの選択開始位置を(バイト数で)取得
nb = @SelectStartBytePosCr
'行のなかでの選択終了位置を(バイト数で)取得
mb = @SelectEndBytePosCr
@Select = 0
'位置を桁数に変換
@BytePosCr = nb : n = @XDisplay
@BytePosCr = mb : m = @XDisplay
@MoveEndLine
@CharReturn2
@Insert space$(n-1)
@Insert string$(m-n,`^`)
@UndoBlock = 0
end proc
行頭のタブに対応してますが、加えて、タブ含みの文字列にもアンダーライ
ン引けるようになってます。……でもどっちにしてもすでにご指摘の通り、
他のところに持っていったらズレちゃうし、意味無いっスね。ごめんなさい、
やってみたくなっちゃっただけなんです(^_^;)
noris さん、こんにちは。
> '行のなかでの選択開始位置を(バイト数で)取得
> nb = @SelectStartBytePosCr
> '行のなかでの選択終了位置を(バイト数で)取得
> mb = @SelectEndBytePosCr
わ、そういうのもあったんですね。それを使うと instrb とか余分なことしなく
てもいいし、ずっとシンプルになります。手もとのも変更しとこっと。(またマ
クロのコマンドをろくに知らないことがバレましたよ、とほほ。でもこんなんで
もマクロ作ったりしてますので、みなさんもぜひ。)
>行頭のタブに対応してますが、加えて、タブ含みの文字列にもアンダーライ
>ン引けるようになってます。
こだわりですね。
こんにちわ!!
ふすま紙なんですが、jpgファイルを使うことは、できないのでしょうか??
そう言うのがあれば教えてください
ふすま紙は jpeg ダメですね。ウィンドウズの基本的なとこを何か使ってるから
じゃないかな。いろいろ対応するとそれだけプログラムサイズが増えるとかそう
いうこともありますし。
ファイル形式を JPEG から BMP に変換して保存しなおせば使えます。フリーの
ツールでいろいろそういうのできるのありますよ。
http://cvnweb.bai.ne.jp/~kusumoto/iview/ とか。Vector Software Pack にも
いろいろと。
裏技でQXそのもので JPEG を表示できないか、ということだったら、たぶんな
いです。こんな答えでよかったでしょうか。
> またマクロのコマンドをろくに知らないことがバレましたよ、とほほ。
私も実は今回「カーソルの x 位置なら簡単に取得できる」という かぶねこ
さんのお言葉を読むまで @XDisplay のことが分かってなかったので……
(正確には、@BytePos との違いが分からず、どう使い分けるのかな、と不
思議に思ってました)
マクロは浅いところも奥深い? ですね〜。
でもおっしゃるとおり私のように分からない者も分からないなりに作れちゃっ
たりするもので。思えば最初の頃はどう作っていいのかさっぱり想像も付か
ず、キーマクロの保存ファイルを参考にして「この全部の頭に @ 付ければ
いいのか? ……あ、動くところは動くな」な〜んて今から考えるとトンデ
モナイ試行錯誤をしてました(^_^;)が、逆に言うと、そんなんでもどうにか
なったんですからQXのマクロの包容力はかなりのものではないかと。皆さ
んにも気軽にお試しいただければ、と思います。
お互いに「あ、それ、知らなかったです」なんて言いながらやりとりするのは楽
しいですね。マクロ・メーリングリストのほうがほんとは場所としていいかもし
れませんが、ここは「きっかけがもらえる」のでついここでスレッドができちゃ
います。
またマクロ遊び、ごいっしょしてください。
IMEの未確定文字のフォントが、確定文字のフォントより大きく表示されてしまいます。どこかで設定するのでしょうが、共通設定でも書式設定でも見つけられません。どこで設定するか教えて下さい。
>IMEの未確定文字のフォントが、確定文字のフォントより大きく表示されてしまいます。どこかで設定するのでしょうが、共通設定でも書式設定でも見つけられません。どこで設定するか教えて下さい。
思い当たることがほとんどないのですが、「共通設定」−「IME/アイコン」で、
「未確定文字を@FixedSysで表示」をチェックしていると、縦書き編集時に、
使用しているフォントのサイズによってはそのようになるようです。
@FixedSys のサイズが固定されているためでしょう。
それとも、そういう単純なことではないのでしょうか。
>>IMEの未確定文字のフォントが、確定文字のフォントより大きく表示されてしまいます。どこかで設定するのでしょうが、共通設定でも書式設定でも見つけられません。どこで設定するか教えて下さい。
>
> 思い当たることがほとんどないのですが、「共通設定」−「IME/アイコン」で、
>「未確定文字を@FixedSysで表示」をチェックしていると、縦書き編集時に、
>使用しているフォントのサイズによってはそのようになるようです。
>@FixedSys のサイズが固定されているためでしょう。
>
> それとも、そういう単純なことではないのでしょうか。
アドバイス有り難うございます。確認してみました。
1. 「未確定文字を@FixeSysで表示」はチェックされておりませんでした。
2. ただ@FixeSysのサイズは18しか表示されませんので、結果的に固定されているのかもしれません。
3. 環境は OSがwin2000、IMEがMicrosoft IME win2000 です。
4. 他のeditor では確定文字と未確定文字は、同じ大きさになります。
一昨日、初めてQX を知り、すばらしさを認識しつつありますので、何とか解決したいと思っております。もう少し、粘って見ます。
>1. 「未確定文字を@FixeSysで表示」はチェックされておりませんでした。
>2. ただ@FixeSysのサイズは18しか表示されませんので、結果的に固定されているのかもしれません。
>3. 環境は OSがwin2000、IMEがMicrosoft IME win2000 です。
>4. 他のeditor では確定文字と未確定文字は、同じ大きさになります。
普段から MS-IME を使っていないせいもあってか、ちょっと思い当たること
がありません。他の方の回答を待ちたいと思います。
念のために確認ですが、フォントの種類やサイズを変更しても症状は変わら
ないのでしょうか。情報が多ければ、他の方も回答しやすいかもしれませんの
で。
>3. 環境は OSがwin2000、IMEがMicrosoft IME win2000 です。
いつもは ATOK12 なんですが、Alt+Shift でちょいと IME 2000 (うちも
Windows 2000)に切り替えてみました。QX 上の未確定文字は、確定文字と同じ
フォント、かつ、同じサイズで表示されています。(あ、半角英語を入れるのは
IME 2000のほうが便利かも。)
どこが違うんでしょう。念のため表示フォントを変更してみたりしたんですが、
問題ないようです。
CINEPHILEさん、かぶねこさん 御助言、有り難うございました。今、仕事から帰り、追試しているところです。私が使っていたフォントは、実はJSゴシックでした。これを、MSゴシックにしてみると、ほとんど問題が起こらないようです。
ほとんどというのは、未確定文字が少しだけですが、下にズレていること、それと、やや字ずまりになって表示されることで、まったく同じ大きさになっていないという意味です。実害はなく、大きな問題にもならないので、MSゴシックで使用してみます。書式設定における、テキストの行間とか文字間の設定も関係あるかもしれませんので、これらについても、これから試してみます。
今後、何らかのヒントが浮かぶようであれば、是非教えて下さい。私も、解決すれば、投稿したいと思います。
JS フォントは、以前 Windows 95 で一太郎9だったかを入れたときに一時入れ
たことがありますが、システムからのフォント一覧とか他のアプリからの使用時
にクセがあって、どっか何か違うように感じました。
でも MS フォントじゃなくちゃダメということもないようで、うちでは Canon
の FontGallery の丸ゴシックをメインで使っていますが、問題ないです。それ
から NEC の FontAvenue でもOKでした。
ところで「少し下にズレる」というのは原因がわかりませんが、「やや字詰まり」
というのは「字間」をあける設定にしている場合ですね。たぶん未確定文字は
「字間ゼロ」になってしまうのでしょう。このへんワープロソフトみたいに確定
時と同じに描画できないのは、テキストエディタに共通だと思います。
> ほとんどというのは、未確定文字が少しだけですが、下にズレていること、それと、やや字ずまりになって表示されることで、まったく同じ大きさになっていないという意味です。実害はなく、大きな問題にもならないので、MSゴシックで使用してみます。書式設定における、テキストの行間とか文字間の設定も関係あるかもしれませんので、これらについても、これから試してみます。
下にずれるというのは不思議ですね。フォント以外では、関係がありそうな
のは行間の設定くらいですが、うちではそれも問題ないようです。
先ほどメーリングリストが復旧したそうですので、そちらで再度質問なさっ
た方が情報が集まるかもしれません。
案内は以下のアドレスにあります。
http://www2.justnet.ne.jp/~chic/qx_ml.html
>このへんワープロソフトみたいに確定時と同じに描画できないのは、テキストエディタに共
>通だと思います。
そのようです、他のエディタでも同様の動作が認められました。ただJSゴシックで大丈夫な
エディタもありましたが---。
してみると、結論としては、QXではJSフォントを使わなければ良いことになります。そも
そもJSフォントを使う意味は、MSフォントでは字間や行間が詰まっていて読みづらかった
からで、字間や行間が設定できるQXエディタでは、MSフォントで何ら問題ありません。
現在、様々なカスタマイズとマクロの導入を始めており、フォントのほうはこれでいったん解
決ということにしました。何かとお手数をかけました。適切かつ親切なアドバイス助かりました。
>してみると、結論としては、QXではJSフォントを使わなければ
>良いことになります。そもそもJSフォントを使う意味は、MS
>フォントでは字間や行間が詰まっていて読みづらかったからで、
>字間や行間が設定できるQXエディタでは、MSフォントで何ら
>問題ありません。
つまりJustSystemのJSフォントではなくて、オンラインで流通している
「行間の広い読みやすいフォント」の方ですな……
あれはアプリによってスクロールなどに支障のでることがあります。
(ポイントと高さが合ってないため)
かつて作者さんに問い合わせたところ、問題としては認識したが対応は
難しいとの返事を貰いました。
あと、偶数ドットにならないポイント数では文字間が狂うこともあるのかな?
MSゴシ12ポイント(16ドット)文字間0で試してみてください>wmickyさん
>つまりJustSystemのJSフォントではなくて、オンラインで流通している
>「行間の広い読みやすいフォント」の方ですな……
そうです。JustSystem のJSフォントというのもあるんですか。知りませんでした。
>あれはアプリによってスクロールなどに支障のでることがあります。
>(ポイントと高さが合ってないため)
>かつて作者さんに問い合わせたところ、問題としては認識したが対応は
>難しいとの返事を貰いました。
これまた、知りませんでした。今後は、他のソフトでも気を付けてみてみます。
>あと、偶数ドットにならないポイント数では文字間が狂うこともあるのかな?
>MSゴシ12ポイント(16ドット)文字間0で試してみてください>wmickyさん
少しずれるのは、どうもMS-IME2000のせいのようです。SKK-IME というのが
あって、これを使うと、全然ずれません。QXの問題では無い様です。お騒が
せして申し訳ありませんでした。
>つまりJustSystemのJSフォントではなくて、オンラインで流通している
>「行間の広い読みやすいフォント」の方ですな……
あ、そこまでは思い至りませんでした。たしかにそんなのが。
はじめまして、鐸木さんの『ワードを捨てて〜』(初版)付属のVer.6.3を
使わせていただいています。
さて、文書内の離れた数ヵ所を参照する場合に、その間の不要な部分を折り
たたんで表示できたらいいな、と思っています。
同じ文書を二重表示してもいいのですが、あらためてファイルを開く手間も
惜しい時もあるので、これができれば便利かなと思うのです。
この機能は標準機能にはありませんよね? これを実現しているマクロがあ
ればその所在を知りたいのですが、ご存知の方がいらしたら、教えていただ
ければ幸いです。
>文書内の離れた数ヵ所を参照する場合に、その間の不要な部分を折り
>たたんで表示できたらいいな、と思っています。
それは無理じゃないかと思います。そういうのができるテキストエディタはわた
しは知りません。もっと複雑なことをやる(だから表示が重い)ワープロソフト
でもできないのでは。
>同じ文書を二重表示してもいいのですが、あらためてファイルを開く手間も
>惜しい時もあるので、これができれば便利かなと思うのです。
ここは二重表示でガマンしていただくほうが……。というか間を折り畳んだらそ
れはすでに二重表示と同じような気もしますが。(2つのウィンドウを上下に並
べて表示すると、そんな感じでは。)
表示関係はマクロではいじれないと思いますので、マクロでなんとか、というの
もムリではないかと思います。
ひとつのテキストの複数の箇所を行ったり来たりするには、マークをつけたり、
マーク行一覧を使ったり(常駐リストにも表示できます)、見出し一覧を使った
り、といったやりかたもあるので、いちど試してみてください。常駐リストに表
示した場合、折りたたみがないけど非常に柔軟なアウトラインのように使えます。
そうじゃなくてやっぱり要望したい、というときは、作者から返事のあるQXメ
ーリングリストのほうに投稿してください。
折り畳みというのが、例えばワードでいうところの「ウィンドウ分割」に
あたる操作なのか、あるいは見出しマップなどでのアウトライン機能に
相当することを求めておられるのか。そのへんがちょっと不明ですが、
一応前者に相当するものと想定して。
>同じ文書を二重表示してもいいのですが、あらためてファイルを開く手間も
>惜しい時もあるので、これができれば便利かなと思うのです。
ウィンドウ(W)→新しいウィンドウを開く(N)で二重化します。
これと(上下or左右に)並べて表示、を連続して行う操作を
キーマクロで登録するとかはどうでしょうか。
これなら最短キー一発で分割ウィンドウになります。
後者の場合、何を表示して何を非表示にするのかによって対処法が変わって
くるとおもいます。例えば見出しだけ表示するのであれば常駐リストという
解がQXでは一番スマートであろう、とか。
>同じ文書を二重表示してもいいのですが、あらためてファイルを開く手間も
>惜しい時もあるので、これができれば便利かなと思うのです。
>
>この機能は標準機能にはありませんよね? これを実現しているマクロがあ
>ればその所在を知りたいのですが、ご存知の方がいらしたら、教えていただ
>ければ幸いです。
かぶねこさん、ふたみさんも言われているように、画面を分割するのが正解
だと思います。
マクロ・ナースリーに、「文書ウィンドウ分割(っぽい)マクロ 」というの
がありますが、お試しになってはいかがでしょうか。
http://0ban.com/yook/honyaku/nursery.html
こんにちわ!
以前、no、92で公開してくださった逆に並べ替えるマクロ(私は、逆順マクロって名前で登録してます)、すごく活用してます。
実は、あれで、チャットのログをとるのにすごく役立つのです。(もちろん、きてるメンバーには、ログをとること、ちゃんと伝えてます。)
IEでチャットしながら、QXを開いておき、一定の間隔で、コピーアンドペーストをします。
で、それを、名前を付けて保存してから、逆順マクロをかけると。すると、上からちゃんと読めるんです。
ただ、最近少し困ったことがあるんです。
チャット上の会話が、2行にわたる場合です。
そこで、お願いなんですが・・・・・。前のマクロの応用で、改行までを一行と考えて、上下を逆にするマクロなんてのは、無理でしょうか?
ポイントなどを教えてもらえれば・・・・勝手な言い分ですいませんが、よろしくお願いします。
247のふすま紙の件、ありがとうございました。
マクロがお役にたってるのはうれしい限りです。
えっと、あのマクロは「改行までを1行」とみなして動作してるはずですが。マ
クロの中で @TextCr$(@Line) と書いてあるのは、カーソルのある改行単位の1
行の内容、という意味なんです。でもひょっとすると設定とかの違いで、わたし
が意図したようにはそちらでは動作していない可能性もあります。
「改行までを1行とみなす」というのは、「途中に改行がない」ことですよね。
たまたまひとつの発言が改行をふくむ2行になっている、というのではなく。チ
ャットのログだったら改行が入りそうにないし。う〜ん。
2行になってしまってる発言だけ手作業でつないでからマクロをかける、という
のがいちばん単純かも。よろしければもう少し詳しくそちらの状況を教えてくだ
さい。
かぶねこさん、早速ご回答いただき、ありがとうございました。
昨夜は早く寝てしまったので、お礼が遅れました。ごめんなさい。
>それは無理じゃないかと思います。そういうのができるテキストエディタはわた
>しは知りません。もっと複雑なことをやる(だから表示が重い)ワープロソフト
>でもできないのでは。
やっぱり無理ですか。
私もそういうことのできるエディタはないものかと探してはみましたが、確かに
ないようですね。
記憶があいまいなのですが、DOS時代のワープロで、『松』だったか『VJE-PEN』
だったか、文書の折りたたみができたような気がするのです。
Win時代になってからしばらくその機能の事は忘れていて、主としてエディタで
文書作成していたのですが、最近、その折りたたみ機能の使用感がかなり快適だっ
たのを思い出し、エディタでもできないかな、と思った次第です。
>ここは二重表示でガマンしていただくほうが……。というか間を折り畳んだらそ
>れはすでに二重表示と同じような気もしますが。(2つのウィンドウを上下に並
>べて表示すると、そんな感じでは。)
そうですね。実質的には二重表示でも不都合はないので、一発で二重化できるよう
にマクロを考えてみようと思います。
>ひとつのテキストの複数の箇所を行ったり来たりするには、マークをつけたり、
>マーク行一覧を使ったり(常駐リストにも表示できます)、見出し一覧を使った
>り、といったやりかたもあるので、いちど試してみてください。常駐リストに表
>示した場合、折りたたみがないけど非常に柔軟なアウトラインのように使えます。
実は常駐リストはあまり活用していなかったのです(冷汗)。
この方向でも工夫してみます。
>そうじゃなくてやっぱり要望したい、というときは、作者から返事のあるQXメ
>ーリングリストのほうに投稿してください。
折りたたみ機能はエディタの軽快さをスポイルしそうな気がしてきたので、要望す
るのはやめておきます。
ありがとうございました。
ふたみさん、早速ご回答いただき、ありがとうございました。
昨夜は早く寝てしまったので、お礼が遅れました。ごめんなさい。
>折り畳みというのが、例えばワードでいうところの「ウィンドウ分割」に
>あたる操作なのか、あるいは見出しマップなどでのアウトライン機能に
>相当することを求めておられるのか。そのへんがちょっと不明ですが、
>一応前者に相当するものと想定して。
説明不足でごめんなさい。
イメージ的には、エディタの文書の表示/編集領域内で、
ここまで表示。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ここから再び表示開始。
と表示するような感じで、"〜"がつながった行の部分で文書を折りたたん
でいることを示すような感じです。
ですから、ウインドウは分割しませんが、前者に近い感じですね。
>ウィンドウ(W)→新しいウィンドウを開く(N)で二重化します。
>これと(上下or左右に)並べて表示、を連続して行う操作を
>キーマクロで登録するとかはどうでしょうか。
>これなら最短キー一発で分割ウィンドウになります。
ご提案ありがとうございます。
早速やってみます。
yookさん、早速ご回答いただき、ありがとうございました。
昨夜は早く寝てしまったので、お礼が遅れました。ごめんなさい。
>かぶねこさん、ふたみさんも言われているように、画面を分割するのが正解
>だと思います。
そうですね。
『折りたたみ機能』という形でなくても、求めている機能は実現できそうな
ので楽しみになってきました。
>マクロ・ナースリーに、「文書ウィンドウ分割(っぽい)マクロ 」というの
>がありますが、お試しになってはいかがでしょうか。
>
>http://0ban.com/yook/honyaku/nursery.html
これからダウンロードして試してみます。
最後にあらためて。
かぶねこさん、ふたみさん、yookさん、
いろいろとアドバイスありがとうございました。
ていねいな返信ありがとうございます。
>記憶があいまいなのですが、DOS時代のワープロで、『松』だったか『VJE-PEN』
>だったか、文書の折りたたみができたような気がするのです。
いろいろなつかしむ声がありますね。とくに「松」など。わたしは DOS 時代は
VZ エディタと一太郎しか知らないのでわからないのですが。
>実は常駐リストはあまり活用していなかったのです(冷汗)。
ふつうあまり気がつかなくて、こういう場所で「へえ、便利かも」と思って使い
はじめるようです。じつはわたしも……。
> 今後、何らかのヒントが浮かぶようであれば、是非教えて下さい。
> 私も、解決すれば、投稿したいと思います。
後日談です。今まで、英語101キーボードを使って入力しておりましたが、
日本語106キーボードに変えたら、あっさり、何のズレもなく表示されるよう
になりました。単にHappy Hacking 英語キーボードのせいだったようです。
一応ご報告まで。
思うんですが、
> IEでチャットしながら、QXを開いておき、一定の間隔で、
> コピーアンドペーストをします。
ということは、チャットのログファイルを直接参照しているのではなくて
IEでチャットの表示をしているのを、マウスで選択してコピー、
そして、QXエディタにペースト、それから、逆順ソートという
ことをしているんですよね。
たとえば、チャットが1行だとしてもブラウザの横幅の関係で、
| 稀Jr:チャットは1行だけれどもブラウザの横幅が|
| 狭いので2行になってしまった。 |
のようになっていませんか?
この場合に、IEからコピー&ペーストすると、
稀Jr:チャットは1行だけれどもブラウザの横幅が ←ここに改行
狭いので2行になってしまった。
となってしまいます。
もしそうならば、行の先頭部分になんらかの規則があれば、自動でつなげるの
はマクロで出来ると思いますが。
>日本語106キーボードに変えたら、あっさり、何のズレもなく表示されるよう
>になりました。
ほお、面白い現象ですね。わたしはキーボードはあれを繋いだりこれを繋いだり
で、いまは英語80キーボード(というのか、キーが80個のもの)をつないで
いますが、ズレるという現象は出ていません。
Happy Hacking Keyboard はファンクションキーがないとか特殊なあたり、なん
かあるんでしょうか。不思議ですね。
>>記憶があいまいなのですが、DOS時代のワープロで、『松』だったか『VJE-PEN』
>>だったか、文書の折りたたみができたような気がするのです。
>
>いろいろなつかしむ声がありますね。とくに「松」など。わたしは DOS 時代は
>VZ エディタと一太郎しか知らないのでわからないのですが。
ぉぉ、そういえば、確かに松ではできたような気がします。
あと、ワードでもメモとかにしてメモを非表示にすればでき
るのかなという気がしますが、いかんせんあまり芳しくないで
すね。
折りたたみは、折りたたみの開始と終了の位置の特定と、編
集してもその位置が任意に自動的に変更されて再描画されない
といけないので、ワープロじゃないと無理でしょう。位置の特
定のためにある種の編集記号なり何なりを入れないといけない
ですし。
もしどうしても折りたたみのようにしたい場合は、開始を
{で終了を}でくくることによってQXではメモになります。
そして、メモを削除して保存をするということをすると、折り
たたみとほぼ同じ状態になります。折りたたんだ部分を展開
(と同じ状況に)したい場合はメモを削除する前のファイルを開
けばOKということで。
操作性はあまりよくないですし、ファイルが大きくなると保
存するたびに時間がかかるようになるので、あまりお勧めはで
きませんが。
はじめまして。現在QXを試用させて頂いています。
外部コマンドを使っていて気付いたのですが、引数とファイル名がスペースを空けずに
続く場合にうまく動作せず困っています。
もう少し具体的に言うと、
「hogehoge.exe -S %p」なら正常に動作するのですが、
「hogehoge.exe -S%p」の場合にうまくファイルを読み込んでくれません。
通常なら気にすることではないのですが、使いたいツールが引数とファイル名の
間にスペースを許可しない仕様なもので。。。
マクロを使って外部プログラムに渡す、というのも試してみたのですが、
一度「@FileClose」でファイルを閉じなければ動作しませんでした。
これでは非常に効率が悪いのです^^;
どうにかうまく動かす方法がありませんでしょうか?
よろしくお願いしますm(__)m
>マクロを使って外部プログラムに渡す、というのも試してみたのですが、
>一度「@FileClose」でファイルを閉じなければ動作しませんでした。
>これでは非常に効率が悪いのです^^;
排他制御を「しない」もしくは「しない2」にして
みてください。
あと外部コマンドの%pが動作しない件は、バグかも
しれないので、え〜とQX-MLなどのサポート場所で発
言するのがいいような気がします。
> 排他制御を「しない」もしくは「しない2」にして
>みてください。
できました!(^O^)
有難うございます、助かりました。
> あと外部コマンドの%pが動作しない件は、バグかも
>しれないので、え〜とQX-MLなどのサポート場所で発
>言するのがいいような気がします。
わかりました。
大したことではないかも知れませんけど、念のため発言しておきます。
こんにちわ!!
>
>ということは、チャットのログファイルを直接参照しているのではなくて
>IEでチャットの表示をしているのを、マウスで選択してコピー、
>そして、QXエディタにペースト、それから、逆順ソートという
>ことをしているんですよね。
そうです。
>たとえば、チャットが1行だとしてもブラウザの横幅の関係で、
>
>
>| 稀Jr:チャットは1行だけれどもブラウザの横幅が|
>| 狭いので2行になってしまった。 |
>
>のようになっていませんか?
なっていました。うまく行くのと、うまく行かないのがあって、何でだろうと、よくよく見るとそうなってました。
ぶんの長さを変えたらとも思いましたが、それでは、うまく行きませんでした。
>
>もしそうならば、行の先頭部分になんらかの規則があれば、自動でつなげるの
>はマクロで出来ると思いますが。
行の先頭に規則性はありませんが・・・。発言は、
--------------
みちこ:上下のような転々に挟まれていまして、その中の発言の改行マークをとれればと思うのですが・・・(時間)
--------------
なにかいい方法ありますか???正規表現とかも考えてみましたが・・・私の知ってるのでは、うまく行きませんでした・・・
よろしくお願いすます・・・m(_ _)m
行末規則で正規表現置換っていうのは、「タグつき正規表現」を使わないとヒッ
トした文字を残せないから、改行コードをまたいで置換ができない(改行コード
の削除ができない)んですよね。編集時に1行 4000 バイトまで、という制限も
あるので、改行を全部取ったりするとエラーになりがちですし。
結局、ファイルに書き出すマクロのほうが楽かも。逆順マクロのアレンジです。
行末であることを認識させる文字の指定は do while 1 の直後の行の "" のなか
に書きます。
proc main '行末が特定文字でなければ行つなぎ (2001/10/01)
dim n, s$
@MoveFileTop
@MoveBeginningLine
n = instr(@Pathname$, ".")
'ファイルのあるフォルダに、ファイル名に「_c」を追加してファイル作成
s$ = mid$(@Pathname$, 1, n-1) + "_c." + mid$(@Pathname$, n+1)
open s$ for output as #1
do while 1
if instr("-)", right$(@TextCr$(@Line),1)) then
print #1, @TextCr$(@Line)
else
print #1, @TextCr$(@Line);
end if
@MoveNextLineCr
if @Line = @LastLine then exit do
loop
close #1
end proc
>行末規則で正規表現置換っていうのは、「タグつき正規表現」を使わないとヒッ
>トした文字を残せないから、改行コードをまたいで置換ができない(改行コード
>の削除ができない)んですよね。編集時に1行 4000 バイトまで、という制限も
>あるので、改行を全部取ったりするとエラーになりがちですし。
チャットというものをよく知らないのですが、ブラウザの横幅が常に固定さ
れていて、途中で改行のはいる桁数が決まっているのであれば、折り返し桁数
かメール文書の整形桁をそれにあわせておいて、いったん @FormatDelCr でつ
なげてから逆順に並べ替えるいうわけにはいかないでしょうか。
まったく見当違いだったらすみません。
元MIFESユーザーです。
QX Ver6.6とねこみみさんの複数ファイル一括文字列変換(カレントファイル)を多用しています。
それでちょっと戸惑っています。
置換える文字列がひとつだと"\n"の変換が出来るのに文字列が複数になると出来なくなってしまい、変換自体が化けてしまいます。
あと"^"と"$"はなぜ正規表現なのでしょう。
別に非難しているつもりはありませんが、他のエディタとはちょっと違うので・・・理由を教えて下さい。
おねがいします。
これは ねこみみ さんのマクロの問題なので、検索・置換文字列がマクロによっ
てどのように格納されるのか、というあたりにかかわってくるのだと思います。
このへんは ねこみみ さんのほうに質問していただけますか。
ねこみみ さんが読んでいるのが確実なのはニフティの FWINAL のエディタ会議
室だけなので、ここは直接メールで連絡していただくのがいいかと思います。
\n が入ったときに複数文字列の置換ができない、というのは、QX 自体の問題で
はありません。また、「^」と「$」については QX では「正規表現対応」をオン
にしなくても使える「特殊文字」となっていますが、「^」と「$」は sed、awk、
perl などでも使われている正規表現でもあります。「*」だけはちょっと複雑で、
正規表現がオフのときとオンのとき、それぞれ「特殊文字」と「正規表現」にな
るのですが、意味がまったく違います。
「他のエディタとちょっと違う」ということであれば、それはそちらのエディタ
のほうが標準的な特殊文字なり正規表現なりを採用していないのかと思うのです
が、複数のエディタでそうなんでしょうか。
また、これはお願いですが、ハンドル(ウェブ上の名前)は、「とっても初心者」
というようなものでなく、できればもっと「個人」として特定できるものにして
ください。
>これは ねこみみ さんのマクロの問題なので、検索・置換文字列がマクロによっ
>てどのように格納されるのか、というあたりにかかわってくるのだと思います。
>このへんは ねこみみ さんのほうに質問していただけますか。
>\n が入ったときに複数文字列の置換ができない、というのは、QX 自体の問題で
>はありません。
->SiさんのREPMULTI.MAC(複数文字列一括置換マクロ)でも同じ結果になったので、QXの問題かなと思ったのですが・・・。
また、「^」と「$」については QX では「正規表現対応」をオン
>にしなくても使える「特殊文字」となっていますが、「^」と「$」は sed、awk、
>perl などでも使われている正規表現でもあります。「*」だけはちょっと複雑で、
>正規表現がオフのときとオンのとき、それぞれ「特殊文字」と「正規表現」にな
>るのですが、意味がまったく違います。
>
>「他のエディタとちょっと違う」ということであれば、それはそちらのエディタ
>のほうが標準的な特殊文字なり正規表現なりを採用していないのかと思うのです
>が、複数のエディタでそうなんでしょうか。
>
->「^」と「$」については MIFES・MMXでは正規表現ON時のみ対応でした。
>また、これはお願いですが、ハンドル(ウェブ上の名前)は、「とっても初心者」
>というようなものでなく、できればもっと「個人」として特定できるものにして
>ください。
->申訳ありません。ハンドルネーム変えました。
しげお さん、ハンドル変更ありがとうございました。
いま気がついたのですが、もしかして「\n」というのは、QXで検索・置換に使
う特殊文字の(改行の意味の)「\n」ではなくて、そのものの文字列の「\n」こ
とだったのでしょうか。だとすると、特殊文字をエスケープするために「\\n」
と表記しなければいけないのですが。
>SiさんのREPMULTI.MAC(複数文字列一括置換マクロ)でも同じ結果になったので、
>QXの問題かなと思ったのですが・・・。
Si さんのマクロも引っぱり出してきました。これはテーブルファイルを作って
おくんですね。途中に「\n」(改行)を含む文字列を複数指定しても、うちの環
境では問題ないようです。すみませんが、具体的にどのような文字列を、マクロ
実行直前に置換ダイアログの設定がどうなっているかを添えて、教えていただけ
ませんか。
また、QX で複数文字列を置換するマクロのもっとも基本的なかたちはこんな感
じです。
proc main
@@ReplaceStringMulti "文字列1", "置換文字列1"
@@ReplaceStringMulti "文字列2", "置換文字列2"
@ReplaceStringMultiExec 1
end proc
ここの文字列のところにテストする文字列を入れて実行すると、もっとも基本的
な状態でのテストができます。
>「^」と「$」については MIFES・MMXでは正規表現ON時のみ対応でした。
なるほど、そういう意味でしたか。たしかに。特殊文字であることに気がつかな
いと予想した動作をしなくて驚くことがあるかもしれません。
QX は古いバージョンでは正規表現に対応していませんでした。だんだん便利な
機能がついていくなかで、正規表現より先に「特殊文字」関係が採用されたので、
正規表現オンにしなくても使う設計になっているのだと思います。じつはわたし
が初めて QX に触れたころには、改行(\n)の置換もなかったんですが、あれよ
あれよという間にタグつき正規表現まで対応されてしまいまして。
回答ありがとうございます。
問題無く動いているということは使い方が悪いのでしょうね。
こんなテキストを
$1001:A^1,B^2,C^3;
$1002:D^4,E^5,F^6,
G^7,H^8,I^9;
$1003:J^10,K^11,L^12,M^13,
N^14,O^15;
$1004:P^16,Q^17,R^18;
こんな形式に変換したかったのですが
$1001={A-1,B-2,C-3};
$1002={D-4,E-5,F-6,G-7,H-8,I-9};
$1003={J-10,K-11,L-12,M-13,N-14,O-15};
$1004={P-16,Q-17,R-18};
パラメータは
SearchStr01=:
ReplaceStr01=={
SearchStr02=\^
ReplaceStr02=-
SearchStr03=;
ReplaceStr03=};
SearchStr04=,\n
ReplaceStr04=,
です。
パラメータをひとつずつ単独で実行すると置換が正常に出来るのに,
4つのパラメータを一括で実行すると化けてしまいます。
どこがいけないのでしょう?
教えて下さい。
いただいた例をマクロに入れてやってみたところ、\n では問題が生じるのをこ
ちらでも確認しました。む、バグか、と思いつつ、マクロヘルプを読んでいたら、
@@ReplaceStringMulti の項目に、「文字列に、改行(\n)を含めることはできま
せん」という1文がありました。
というわけで、QX の一括文字列置換では「\n」は扱えない、が正しかったわけ
です。最初のわたしのレスは、したがって間違いです。すいませんでした。わた
しのところで置換が可能だったのは、ひじょうにシンプルな例のみをやってみた
からかもしれません。
となると、複数文字列一括置換では \n を含むものだけは除外しておいて、別途
改行だけ処理することになってしまいますね。あ、そう言えば、複数文字列一括
置換は、ある行を読み込んで、そのなかで同時に指定された複数の文字列を探す
わけですから、しくみからも \n には対処できないのかもしれません。
マクロでやるなら、改行だけは @ReplaceString2 を使えばうまくいきます。
proc main
@UndoBlock=1
@@ReplaceStringMulti ":", "={"
@@ReplaceStringMulti "\^", "-"
@@ReplaceStringMulti ";", "};"
@ReplaceStringMultiExec 1
@MoveFileTop
@ReplaceString2 ",\n", ",", 1
@UndoBlock=0
end proc
B4の縦書で袋とじ印刷、というのは可能でしょうか。これができるとワードとおさらばできるのにな〜、と思い悩むど素人です。よろしくお願い致します。
> B4の縦書で袋とじ印刷、というのは可能でしょうか。これができるとワードとおさらばできるのにな〜、と思い悩むど素人です。よろしくお願い致します。
印刷ダイアログでまず縦書き用フォントを指定し、紙の向を「縦」、「紙内
ページ」を「2」、「ページ幅」で左右のページ間の幅を指定します。あとは、
文字数、行数、余白などを、制限範囲内の適当な値に調整して印刷します。
自分もヘルプは確認していませんでした。
まさか"\n"が使えないとは・・・。
分かりました。マクロは直せそうもないので文字列を工夫するように気を付けます。
ありがとうございました。
>自分もヘルプは確認していませんでした。
>まさか"\n"が使えないとは・・・。
>分かりました。マクロは直せそうもないので文字列を工夫するように気を付けます。
>ありがとうございました.
スイマセン。マクロじゃなくてコマンドの制約事項でした。
勘違いでした。
ところで、"\n"を使える様には出来ないんでしょうか?
やっぱり使いたい・・・。
>ところで、"\n"を使える様には出来ないんでしょうか?
>やっぱり使いたい・・・。
@@ReplaceStringMulti で「\n」を置換することについては、このコマンドが、
ある行を読み込んで、そのなかで同時に指定された複数の文字列を探す、という
動作をするものなので、この動作を変更してもらうように要望しても、実現はむ
ずかしいのではないかと思います。(これはわたしの意見にすぎないのですが。
なお、作者への要望はメーリングリストのほうにお願いします。)
マクロで「\n」も置換するためには、@ReplaceString2 を使う必要があります。
しげお さんが必要とする置換作業が一定の内容であれば、No. 287 で挙げたよ
うなマクロを個別に作って使用する、という方法があります。パターンがいろい
ろあって、やはり ねこみみ さんのマクロを使いたい、ということでしたら、ね
こみみ さんに相談してみてください。
あるいは、ねこみみ さんのマクロほど高機能でなくてもいいけれど(複数ファ
イルを一括処理しなくていい、など)、最低限こういうことができるものがほし
い、ということでしたら、わたしも多少なら対応できるかもしれません。また、
マクロメーリングリスト http://qxmac.com/ml/ というのがありますので、そち
らで要望を出すとたぶんどなたかが作ってくれると思います。
ちょうど一週間ほど前からテキストエディタQXを利用させてもらっています。
以来とても有意義に利用させてもらっています。
それで今回『最近編集した文章一覧』という機能について質問があります。
先日『最近編集した文章一覧』の項目にあるファイルをQXを通さず削除したのですが、
削除したファイルが『最近編集した文章一覧』の項目に名前が残ってしまいました。
困ったなと思い、ファイルの最近編集した文章一覧から削除しようと試みたのですが、
削除できないとのこと。
なんとか同名のファイルを作成しQXを通して削除することによって
『最近編集した文章一覧』の項目に残っていたファイル名を消せたのですが、
こういう方法以外で上記の問題を解決できる方法はあるのでしょうか?
また『最近編集した文章一覧』の機能を停止させたり調節することは
できるのでしょうか?
基礎的な質問かと思いますが宜しくお願いします。
>なんとか同名のファイルを作成しQXを通して削除することによって
>『最近編集した文章一覧』の項目に残っていたファイル名を消せたのですが、
>こういう方法以外で上記の問題を解決できる方法はあるのでしょうか?
ヘルプの「最近編集した文書一覧」の項目に解説があります。「最近編集し
た文書一覧」を表示して、カーソルを一覧から削除したい項目の上に置いた状
態で DELETE キーを押すと、その項目を削除することができます。
これが最も基本的な方法ですが、HANさんが公開していらっしゃる「常駐
リスト強化マクロ」の中にある「最近編集した文書一覧の整理」という機能を
使えば、存在しないファイルを一括して一覧から削除することができます。
他にもいろいろ便利な機能が付いているので、インストールしておいて損は
ありません。以下の場所にあります。
http://www3.ocn.ne.jp/~han/
> ヘルプの「最近編集した文書一覧」の項目に解説があります。「最近編集し
>た文書一覧」を表示して、カーソルを一覧から削除したい項目の上に置いた状
>態で DELETE キーを押すと、その項目を削除することができます。
見落としていました。
どうもありがとうございます。
> これが最も基本的な方法ですが、HANさんが公開していらっしゃる「常駐
>リスト強化マクロ」の中にある「最近編集した文書一覧の整理」という機能を
>使えば、存在しないファイルを一括して一覧から削除することができます。
> 他にもいろいろ便利な機能が付いているので、インストールしておいて損は
>ありません。以下の場所にあります。
>
> http://www3.ocn.ne.jp/~han/
そんな機能も追加できるのですか。
早速利用してみます。
コマンド その他で、
フォント設定、書式設定をして、
特にテキストの行間の設定ですが、行間が詰まってるとみにくいので、
画面では、反映できているんですが、印刷になると、設定が反映されていません。
どうしたら、よいのでしょうか。
QX はテキストエディタなので、ワープロソフト(一太郎やワード)と違って、
編集画面の表示と印刷は連動していません。
従って、QX では、印刷画面から印刷の設定を行う必要があります。設定は10
種類保存しておけます。ダイアログ左上の1行何文字、1ページ何行という設定
のところで、行数を適当に減らすことで行間があきます。もちろんマージン設定
なども影響しますので、行間の数値やプレビューで確認しながら設定してくださ
い。また、設定は保存しないと消えてしまいます。
それから、投稿者名は「初心者」というような普通名詞ではなく(ここで質問を
投稿するのは基本的にみな初心者ということになりますので)、個人として特定
できるようなハンドルにしてください。
「ワードを捨てて・・」を買って、インストールして1週間になります。
以前に使っていた「秀丸」の気に入らなかったところがほとんど全部クリアーできて
よっしゃ、よっしゃと、舌鼓をうっています。でも、肝心の「印刷」ができません。
「印刷」のボタンを押しても、プリンターがうんともすんともいわないんです。
QXのヘルプは、ふつうにプリントアウトできます。でも、本文(?)が印刷できない。
印刷の書式をいろいろ変えてみても、だめです。
QXでつくったファイルをそのまま秀丸にコピー&ペーストして印刷してみると、
なんの問題もなくプリンタトアウトできます。となると、プリンタのせいじゃなく、
印刷の書式設定(?)で、やってはいけないことをしているか、
やらなければいけないことをしていないかの、どっちかだと思うんですが、
機械音痴のパソコン音痴で、どこをどうチェックしてみればいいかが分からない。
ちなみに、印刷しようとしているのは、A4縦向き用紙に横組、80文字,50行、
明朝体、11ポイント、justifyにチェック入れて、余白は上下左右15ミリ、
フッターにページを入れて、1段組。強調や見出しは、そのうちだんだんにと
思っていますので、まだなんにも設定していません。マクロも使っていません。
パソコンは今年の夏に出たFMV・デスクトップ。OSはウインドウズME。
プリンタはHPのインクジェットをUSB接続。ドライバは、たぶん最新。
日本語入力システムはOAK・v6。親指シフトキーボードです。
どこに問題があると考えられるんでしょう。アドバイスをおねがいします。
答えはすでにもう、どっかに出ているかもしれませんが、そうだとしたら、
どこを見てみろと、ごめんどうでも、ご教授くざさい。
>以前に使っていた「秀丸」の気に入らなかったところがほとんど全部クリアーできて
>よっしゃ、よっしゃと、舌鼓をうっています。
それはおめでとうございます。QX ワールドにようこそ。
>でも、肝心の「印刷」ができません。
>「印刷」のボタンを押しても、プリンターがうんともすんともいわないんです。
印刷ダイアログの右下にある、「プリンタ設定」で、お使いのプリンタが選択さ
れているか確認してください。また、現在選択されているプリンタは、印刷ダイ
アログのタイトル部分に表示されていますので、これも確認してみてください。
出力先プリンタの設定を変更したら、印刷書式は保存しておいてください。保存
しないと次回起動したときに設定がもとに戻ってしまいます。
ものすごい素早さのアンサー、ありがとうございます。
>印刷ダイアログの右下にある、「プリンタ設定」で、お使いのプリンタが選択さ
>れているか確認してください。また、現在選択されているプリンタは、印刷ダイ
>アログのタイトル部分に表示されていますので、これも確認してみてください。
確認しました。どっちも、ちゃんと、選択されていました。
でも、だめです。
>出力先プリンタの設定を変更したら、印刷書式は保存しておいてください。保存
>しないと次回起動したときに設定がもとに戻ってしまいます。
保存しました。でも、保存はできても、・・・うーん、印刷できなきゃ、です。
これまで、QXで書いて、秀丸で印刷する、という、バカバカしい1週間をすごして、
ちょっと、やになりかけています。すみません。お察しください。
ほかに、チェックすべきところはないでしょうか。
きっと、すごく初歩的な見落としをしていると思えてならないんですが。