K2Software BBS
[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

タイトル Re^3: TaskPrizeからの書き出しと印刷
投稿日: 2008/02/29(Fri) 14:03
投稿者sunoko
参照先http://sunoko.s33.xrea.com/x/d/20080229.html#p03


> Rubyに詳しい方、もっとスマートな方法のアイデアがあれば教えてください。

Rubyには詳しくありませんが、以下のようなものを使っています。参考まで。

#textout 文書を外部ファイルに書き出す
#
#●動作説明
# アイテムの内容を外部ファイルに出力する。
# 1)エディットウィンドウがアクティブな場合の動作
# その文書だけを出力する。
# 2)仕事表示枠でアイテムが選択されている場合
# 選択されているアイテムの内容を出力する。複数の文書があるアイテ
# ムは、その文書をすべて書き出す。
#
#●出力するファイル名
# とりあえず、ユーザフォルダに out.txt という名前で書き出してあります。

#eval_start

require "tpz"
include Tpz

head_text = <<HEAD
//ここに任意のヘッダーを記述しておく
------------------------------------------------------------
HEAD

foot_text = <<FOOT
------------------------------------------------------------
//ここに任意のフッターを記述しておく
FOOT


def print_doc(doc)
r = ""
title = doc.title
if title == ""
r << "------------------------------\n"
r << "■文書(#{doc.index + 1})\n"
r << "------------------------------\n"
else
r << "------------------------------\n"
r << "■#{title}\n"
r << "------------------------------\n"
end
r << "#{doc.text}\n"
return r
end

def print_item(item)
r = <<-EOR
======================================================================
■■■■■ #{item.title}
======================================================================
EOR

item.documents.each do |doc|
r << "#{print_doc(doc)}\n"
end
return r
end


#main処理
r = head_text

items = tpz_selected_items

if tpz_focus_pain != 3
items.each do |item|
r << "#{print_item(item)}\n"
end
else
r << "#{print_doc(tpz_current_document)}\n"
end

r << foot_text


#出力処理
#ユーザーフォルダ\out.txt として書き出す
out_f = open("#{tpz_user_folder}out.txt","w")
out_f.write(r)
out_f.close

#eval_end


- 関連一覧ツリー (▼ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ
Eメール
タイトル
メッセージ   手動改行 強制改行 図表モード
参照先
暗証キー (英数字で8文字以内)
  プレビュー

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No 暗証キー