[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[53] ひな形への流し込み出力

端月 [2007/01/12 18:30:00]

初めまして。Cassaavaをデータベースとして使っています。1レコードがかなり長くても受け付けてくれる点、そして何よりデータの中に,や"が含まれていても、壊れないのが気に入っています。横文字文献をテキストデータとして管理しているので、,や"は必須でして、""で括った,や"を含むCSVを間違わずに認識してくれる表アプリケーションって意外に少ないのです。データを壊されて何度泣いたことやら。

要望なのですが、一定のひな形を用意しておいて、そこにデータを流し込んでファイル出力ないし、クリップボードにコピー、というようなことはできないでしょうか。例えば、文献データベースには、いろいろな書誌データやメモを詰め込んでありますが、一定の項目だけを一定の形式で書き出したいときがあります。

著者:タイトル、出典、出版社、xxxx年 とか
著者「タイトル」『出典』出版社、xxxx年 とか

そのときに、例えば

[define]
$_著者_$ = 1
$_タイトル_$ = 3
$_出版年_$ = 4

[output]
$_著者_$: 「$_タイトル_$ 」($_出版年_$)

などと書くと、その行や選択範囲がその形で出力するような。
使い方によっては、ホームページの日記作成などにも使えるのではないかと思います。

文中に貼り付けるための1行コピーくらいなら、[x,y]を変数に定義して、+でつなげたマクロを作ればいいのかしら、と思ったのですが、クリップボードに送るやり方がわからず、挫折しました。
テキストエディタと連携して使う人には便利かと思います。ご検討ください。

Re: [53] ひな形への流し込み出力

あすかぜ [2007/01/13 11:54:00]

書き込みありがとうございます。
雛形への流し込みは、「エクスポートマクロ」という仕組みを使うのがお勧めです。
Cassavaのフォルダに「Export」というフォルダがあるので、そこにマクロを置き、[ファイル]-[エクスポート]で実行します。

例えば、端月さんの例では、Exportフォルダ「134.txt.cms」という名前のファイルを作り、内容を次のようにします。

for(y = SelTop; y <= SelBottom; y++){
 writeln([1,y] + ": 「" + [3,y] + "」(" + [4,y] + ")");
.

クリップボードへコピーするには、+でつなげた文字列を表のどこかに書き込み、カーソル位置を合わせて「Copy();」を実行する必要があります。クリップボード系の組み込み関数は用意していないので汚いです。

Re: [53] ひな形への流し込み出力

端月 [2007/01/14 20:57:00]

ありがとうございます!
何年も前から困っていた課題が解決しました。
「\"」という、いかにも誤動作しそうな組み合わせもちゃんと出力できています。何度直しても壊れるので、直す気を失っていた大元データを本気で直す気になりました。
クリップボード書き出しは、1行以上をやることは滅多にないので、
「 行末に書き出し → Cut() → 文頭に戻る 」
というやり方でできました。

ブログもどきのCGIデータからHTMLに移行するマクロもなんとか書けそうです。
文系人間にとっては、表計算ソフトであっても、テキスト操作に使うことが多いのです。Hallo World! から、一歩も進まないエンドユーザーでも、なんとかできそうな気になれるのがうれしいです。
また助けを求めに来るかもしれません。今後ともよろしくお願いいたします。

Cassava専用の方から返信しようとしたのですが、「句読点がない」として、拒否されてしまったもので、こちらから投稿します。新しいスレッドになってしまいますかしら。

Re: [53] ひな形への流し込み出力

あすかぜ [2007/01/14 22:25:00]

うまくいったようでよかったです。また何かわからないことがあれば聞いてください。
マクロについては『「Cassava」応用利用研究室』が詳しいのでそちらもどうぞ。
http://keikichi.hp.infoseek.co.jp/cassava/

Cassava専用掲示板はスパムよけの判定を間違っていて、何を入力してもはじかれてました。すみません。修正しておきました。

スレッド一覧に戻る返信