csv形式でファイル出力し、exelでsheetを分けたい

[戻る]
倭人 2003/09/24(水) 14:57:18
VC言語で、
計算した結果をcsv形式でファイル出力し、
exelでそのファイルを開いたときにそれぞれの結果を見比べるために
sheetを分けて保存したいのですが、そんなことは可能でしょうか?

sugar 2003/09/24(水) 15:02:32
CSVファイルは、カンマ区切りのテキストファイルなので、
シートという考え方がありません。
CSVをExcelで開くと、1ブックに1シートという形で見えますが、
それはExcelでCSVをそう解釈しているということで、
CSVファイル自体にそのような情報を持っているわけではないのです。

倭人 2003/09/24(水) 15:03:26
やはりそうですか。
わかりました。ありがとうございます!!
でわ失礼しますm(_ _)m

倭人 2003/09/24(水) 16:14:17
内容が変わりました。

計算式の値を数カ所か変えて、それぞれの結果をcsv形式でファイル出力します。
(その際、ファイルの数は5,6個だと仮定します。)
そして、そのファイルをexel上で表現させたいのですが、
1つのファイルにつき1つのsheetとして表現させたいのです。

ファイルが5個だった場合は、5つのsheetにわけ、それぞれ算出された値を
比較したいというのが理由です。
恐らくプログラム上か、windowsの処理上か、exelの処理上かのどれかに
その方法があると思っています。
答えまではいかないものの、何かヒントになるようなことをどなたか教えていただけませんで
しょうか?

通りすがってみたもの 2003/09/24(水) 17:31:17
まず初めに・・・、外してたらごめんなさいm(__)m


既にSugarさんが回答してらっしゃるように、CSVファイルに「Sheet」という
概念はありませんので、出力結果毎にcsvファイルで出力するのではなく
(出力してもいいんでしょうが・・・)、xlsファイルを作る形になると思います。

倭人さんが求めている内容というのは、複数の出力結果を1つのxlsファイルに
まとめて、出力結果毎にSheetに分けるというものでしょうから、
ごくごく単純にVCからEXCELを起動させて、xlsファイルを作り、
出力結果の数だけそのファイル上でSheetを新規作成して、作成したそれぞれの
Sheetの該当するセルに出力結果を書き込んだ上でそのxlsデータを保存するという
やり方になるのではないでしょうか?

ここの過去ログや、検索エンジンなどで検索すれば、VCからEXCELを操作する方法は
いくらでも見つかると思いますので、それらを参考にしてある程度の形を作ってから
どうしても判らない部分に関してここで改めて質問するのが良いかと思います。

ヒントにすらなってないかもしれませんが、参考になるようでしたら・・・

倭人 2003/09/24(水) 17:40:21
すみません。かなり参考になるのですが、
『演算結果をそれぞれファイル出力する』というのは必須条件なのです。
その前提の上で、出来ることなら

>複数の出力結果を1つのxlsファイルに
まとめて、出力結果毎にSheetに分ける

ということをしたいのですが…。
やはり無理なんでしょうか……

FUCKT 2003/09/24(水) 18:15:04
シートのタブをドラッグ&ドロップすれば、
別々のドキュメントのシートを同じドキュメントにまとめたり、
逆に同じドキュメントのシートを別ドキュメントに分割したりできます。
見比べるだけならこれでいいんじゃないですか?

倭人 2003/09/24(水) 18:30:02
[[解決]]
ん〜やっぱりそういうやり方しかないですよね…。
わかりました。みなさん、色々とありがとうございましたm(_ _)m

をよよ 2003/09/25(木) 01:02:43
倭人さん:
マルチポストを頭から否定するわけではありませんが、
ポスト先全てに、きちんと対応して下さいね。

http://www.mtakahashi.com/cgi.cgi?09531

倭人 2003/09/25(木) 19:07:20
ごめんなさい。
以後気をつけますm(_ _)m

をよよ 2003/09/25(木) 19:46:58
ここで謝られても意味がありません。
他のポスト先の始末をつけてください、ということなんですが...
それをきちんとしない人が多いので、マルチポストが嫌われるんです。

倭人 2003/09/25(木) 21:55:55
みなさんには、ご迷惑をおかけいたしました。本当にすみません。
をよよさん、注意してくださって、ありがとうございました。

では、失礼致します。

古いスレッドには追加発言できません。