■ 質問はここへ ■

前へ 次へ
No. 839 (838へのコメント)投稿者: Ywei日付: 2003/04/29 00:16:53
題名 : Re^2:拡張子(XXXX.DOC)から拡張子(YYYY .TXT)へ変換するマクロ

かぶねこ 様 

回答ありがとうございました

>Word ドキュメントをテキストファイルに変換できるのは Word だけです。拡張
>子を変更してもバイナリのファイルがテキストになるわけではありません。マク
>ロ処理するとすれば、Word のマクロになります。

No. 840投稿者: kyoko日付: 2003/05/01 21:51:18
題名 : CVSファイルをHTMLへ編集しつつ変換

こんばんは。

最近HP作成も一部QXで出来ないか試しています。
一番やりたいのは、作成してある表の更新です。これまでエクセルで作った表をHP作成ソ
フトへコピー&ペーストして表内のレイアウト(背景色や行の折り返し禁止等)を整えて
います。
この出来あがった表に逐次データを追加して更新するにあたりエクセルもHP作成ソフトも
非常に重く、ストレスがたまるようになり、

1、データベース作成をねこみみさんの「CVSファイル編集マクロ」に切り替えました。
(とても軽快で快適です)

引き続き、

2、1で作成したCVSファイルを今度は再びねこみみさんの「HTML表作成マクロ」に渡して
レイアウトを整え、

3、2で出来あがった結果(記述)をHP作成ソフトで作ったページの該当部分にコピー&ペ
ースト出来ればと考えています。

行き詰まっているのは1から2への受け渡しです。出来あがったCVSファイルを表作成マ
クロに読み込ませたいのですが、取り込みボタンはQX上で開かれているHTMLを読み込む動
作のようです。
作成済みのCVSファイルを読み込ませる方法はあるでしょうか?

まずねこみみさんのサイトでお聞きべきことかも知れませんが、もしこちらでお分かりに
なる方がいらっしゃればと思い、質問させて頂きました。

もしくは他にもCVSファイルのレイアウトを整えながらHTMLへ変換できるマクロがありま
したら教えて頂けたら幸いです。m(__)m

No. 841 (840へのコメント)投稿者: かぶねこ HP日付: 2003/05/01 22:16:27
題名 : Re:CVSファイルをHTMLへ編集しつつ変換

CVS ファイルというと、構造が決まっていますよね。

ちょっと思いつくことを書いてみますと、1 行単位で CVS の区切り文字を表の
セルの単位、すなわち td の単位として置換できるのではないかと思います。

1 行の行頭と行末をそれぞれ <tr><td>、</td></tr> に置換。
区切り文字を </td><td> に置換。

とやって、<table> ... </table> は手作業で追加すると、いちおう表になるの
では。

手もとに適当なデータがないんで、いまちょっと試せませんが、基本的にこんな
んでできそうな気がします。

空のセルがあると空白を入れないといけないんで、最初に「区切り文字+区切り
文字」を「区切り文字 &nbsp; 区切り文字」で置換しておく、などということも
必要かもしれません。

この作業を頻繁にする必要があれば、これをマクロに書いておくといいのですが、
キーマクロでもかなり自動化できます。

No. 842 (841へのコメント)投稿者: kyoko日付: 2003/05/05 22:05:19
題名 : Re^2:CVSファイルをHTMLへ編集しつつ変換&選択部分の置換

かぶねこさん、アドバイスをありがとうございました。

>ちょっと思いつくことを書いてみますと、1 行単位で CVS の区切り文字を表の
>セルの単位、すなわち td の単位として置換できるのではないかと思います。
>
>1 行の行頭と行末をそれぞれ <tr><td>、</td></tr> に置換。
>区切り文字を </td><td> に置換。
>
>とやって、<table> ... </table> は手作業で追加すると、いちおう表になるの
>では。

これはもしかしたら自分でもなんとかなるかも?とチャレンジしてみようかと考え、でも
もう一度ねこみみさんのサイトのマクロを確認したところ、欲しかった「CSVファイル→
HTML変換マクロ」がちゃんとありました…(汗)。「表作成マクロ」を見つけた時点でそ
れしかないと思い込んでしまったのが原因でした。
このマクロがまさに希望通りのものでした。そそっかしくて申し訳ありません。m(__)m

で、もう少し使い勝手を向上させたい操作が出てきました。
特定の列だけ複数行一度にレイアウト整形タグ(右揃え等)を挿入したい場合、箱型選択
して置換できないかと試しましたが置換には選択部分だけ実行という機能はないように見
受けられました。(箱型選択時には置換がグレイになって選択出来ない)

<tr></tr>全部の置換だと意図とは異なってしまうため、選択部分だけに実行できるよう
な機能はないかと思ったのですが、これはやはり諦めるしかないでしょうか?

No. 843 (842へのコメント)投稿者: かぶねこ HP日付: 2003/05/06 00:17:50
題名 : Re^3:CVSファイルをHTMLへ編集しつつ変換&選択部分の置換

「行」ではなく、「列」での置換が必要なんですね。QX の置換でタグつき正規
表現を使うと、列のいくつめのセルを、というのが指定できるんではないかと思
います。でもこれを書くのがかなりむずかしいので……。

その特定の列のデータの先頭に最初から特殊な文字を追加しておいて、HTML テ
ーブルに変換してから、その特殊な文字とその直前を置換、という方法もありま
すが、この特殊な文字を追加するのがそもそも面倒なら同じです。

こういうのは HTML エディターのほうが簡単ですね(たぶん)。タグつき正規表
現を書くのがすごく難しいとか、どう書いてもできない、という時でも、その作
業専用のマクロを書けば処理できます。あ、ここも行単位の処理のキーマクロで
何とかなりませんでしょうか。置換ダイアログで「置換」と「スキップ」のボタ
ンを押すのが記録されるのならできるはずです。

No. 844 (843へのコメント)投稿者: kyoko日付: 2003/05/10 13:48:17
題名 : Re^4:CVSファイルをHTMLへ編集しつつ変換&選択部分の置換

>こういうのは HTML エディターのほうが簡単ですね(たぶん)。

確かにHTML作成支援ソフトだと表の見た目のまま「列全体に適用」ボタンを押せば一斉に
タグが挿入されますので、無理にQXだけで済まそうとせず目的に合わせて併用した方が最
終的には効率的なのですね。エクセルを使わずに済むようになっただけでも格段に手軽と
なりましたし、これでやっていこうと思います。
色々とどうもありがとうございました。

No. 845投稿者: ねね夫日付: 2003/05/12 18:37:35
題名 : chm形式のヘルプの呼び出し

QXで編集中にカーソルを検索したいキーワード上においてマクロを実行すると
その文字列をchm形式のヘルプを開いてキーワードタブをアクティブにして
自動的に検索して表示までしてくれるようなマクロって実現可能でしょうか?
chmヘルプを起動したり、ALT+Dなどと言ったキーを送り込めれば可能かなぁと
考えてるのですが。
難しいと思うのですが、QXならできそうな匂いがプンプンするので
質問させていただきました。
マクロそのものでなくとも、ヒントやサンプル的なものをご提示いただければ
すごくありがたいのですが。
よろしくお願いいたします。

No. 846 (845へのコメント)投稿者: かぶねこ HP日付: 2003/05/12 19:56:52
題名 : Re:chm形式のヘルプの呼び出し

chm 形式のヘルプを開くには hh.exe を起動するようですが、hh.exe が開くヘ
ルプファイルの指定まではなんとかわかるものの、その他の起動オプションがわ
かりません。

hh.exe に限らず、起動オプションがわかれば、文字列の上にカーソルを置いて
その文字列を渡して起動することはできると思います。

ヘルプを開くだけなら、たとえばこんなふうになるんですが。

proc main
call shell("C:\WINNT\hh.exe " + @@QXDirectory$ + "\QX.CHM", 1)
end proc

No. 847 (846へのコメント)投稿者: ねね夫日付: 2003/05/12 22:59:15
題名 : Re^2:chm形式のヘルプの呼び出し

かぶねこさん、こんばんは。
いつも素早いご返答ありがとうございます。

>hh.exe に限らず、起動オプションがわかれば、文字列の上にカーソルを置いて
>その文字列を渡して起動することはできると思います。

ふむ。たぶんかぶねこさんが言われてるように起動オプションかなにかで
hh.exeに指定することができればスマートなんだろうなと思いつつ
自分でも調べきることができませんでした・・・

>proc main
> call shell("C:\WINNT\hh.exe " + @@QXDirectory$ + "\QX.CHM", 1)
>end proc

ありがとうございます!!
開くことができました!これだけでもずいぶんと道が開けました。
結局いろいろ試行錯誤した結果、SendKeyでhh.exeに送ることで自分が思ってる動作に近づけることができました。
他に参考にされる方はいないかと思いますが、一応自分がとった方法を以下にサンプルとして
つけておきますー。
−−−−−−−−−−−−−−
proc ProcName()
dim ret
dim KeyWord$
if @hwnd = 0 then exit proc
if @Select then
KeyWord$ = @TextSelect$
else
KeyWord$ = @GetCursorWord$
@BlockSelectCursorWord
end if
ret = appactivate2("CHMヘルプのタイトル")
if ret = 0 then
ret = shell("C:\WINNT\hh.exe " + @@QXDirectory$ + "\chmhelpファイル名.chm", 1)
end if
if ret <> 0 then
SendKey KEY_MENU, "n"
SendKey KEY_HOME
SendKey KEY_SHIFT, KEY_END, KEY_DELETE
SendKey KeyWord$
SendKey KEY_MENU, "d"
end if
end proc

No. 848 (847へのコメント)投稿者: かぶねこ HP日付: 2003/05/13 11:25:29
題名 : Re^3:chm形式のヘルプの呼び出し

マクロのサンプル、ありがとうございました。

なんかもう「初心者掲示板」というレベルじゃありませんが、参考になりました。

次へ
現在の既読番号は 0  既読を


メールアドレスを表示するにはURLの後ろに &m=b89489c2 をつけてください。
ユーザー フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/