* 任意範囲セルデータのCSV出力 [#o7a7bdd2]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|Tossy|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(低,faq03,priority)|
 |~状態|#listbox3(完了,faq03,state)|
 |~カテゴリー|#listbox3(Calc 表計算,faq03,category)|
 |~投稿日|2010-03-07 21:35:49 (日)|
 |~OS|XP|
 |~依存するページ||
 |~バージョン|#listbox3(3.2.0,faq03,version)|
 
 ** メッセージ [#qd15a430]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 任意範囲セルデータのCSV出力をするような
 マクロがあればご紹介ください。
 
 測量標準フォーマットのSIMA出力マクロ作成の参考としたいと考えてます。
 
 ----
 ***ほぼ同じ質問 [#iadeb0d8]
 >M.Kamataki (2010-03-07 22:53:37 (日))~
 ~
 当サイトやOOoBasic WikiのサンプルはシートごとのCSV出力ですね。~
 ~
 当サイト:~
 faq/4/1644「特定シートのCSV形式保存」~
 ~
 OOoBasic Wiki:~
 CSV ファイルの取り扱い~
 http://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOoBasic%2FCalc%2FCSV~
 ~
 考え方としては、選択範囲を別シート、あるいは新規ドキュメントに貼り付けてからCSV出力するという方法があります。~
 ~
 英語のフォーラムにほぼ同じ質問が以下のようにありました。それが上のわたしと同じ考え方によるマクロサンプルのようです。~
 ~
 Export selected range to CSV~
 http://www.oooforum.org/forum/viewtopic.phtml?t=90097~
 ~
 参考になるでしょうか。~
 
 //
 ***Excelマクロならあります [#k2c6715b]
 >Tossy (2010-03-08 00:26:43 (月))~
 ~
 ご紹介の英語のフォーラムのものはちょっと違うような気がします。~
 ~
 Excelマクロならあります。~
 http://www.geocities.jp/khf00050/csv-sima.html~
 ~
 Exsel Addin もあります。~
 http://www.vector.co.jp/soft/win95/business/se476199.html~
 ~
 これらを参考に考えますか。よろしくお願いします。~
 
 //
 ***どこが違うのですか? [#id4106a8]
 >new_OOo3 (2010-03-08 08:26:26 (月))~
 ~
 しゃしゃり出てすいません。~
 >ご紹介の英語のフォーラムのものはちょっと違うような気がします。~
 ⇒M.Kamataniさんが提示されているOOo Basicコードと質問者さんが提示されているExcel VBAと何が違うのですか?~
 私には同じに見えました。~
 まさか、Dialgがあるとか無いとかの話では無いですよね?~
 最後に、マルチポストはマナーとして止めましょう。~
 URL : http://okwave.jp/qa/q5733458.html~
 
 //
 ***無題 [#xf2e3eaa]
 >tani (2010-03-08 10:16:37 (月))~
 ~
 英語のサンプルをみましたが、範囲の値を取得した後、新規ドキュメントにコピペしてCSV保存してるんですね。範囲の値を取得した後、「Open CSVファイル名」とかしてダイレクトにテキストファイルにアウトプットしたほうがシンプルかな、と思いました。(処理速度的には前者のほうが早くなるような気もしますが。)~
 ~
 参考までに。~
 
 //
 ***相違点を具体的に [#sa88c84d]
 >M.Kamataki (2010-03-08 11:22:31 (月))~
 ~
 >ご紹介の英語のフォーラムのものはちょっと違うような気がします。~
 ~
 もう少し相違点を具体的に示していただけると助かります。なお、わたしもOOoForumのマクロには気になる点がありました。それは、CSV出力時のフィルター設定です。コードの~
  oPV(1).Name = "FilterOptions" : oPV(1).Value = "0,0,76,1"
 部分ですが、~
  oPV(1).Name = "FilterOptions" : oPV(1).Value = "44,34,76,1"
 とすると一般的なCSVフォーマットで出力されると思います。CSV出力時のフィルター設定については、上で紹介したはにゃ?さんのページに書かれています。~
 
 //
 ***無題 [#pf4a6bc3]
 >Tossy (2010-03-10 11:08:10 (水))~
 ~
 ご意見は参考にさせていただきますが~
 マルチポストの件は、ちょっと私のものとは見解が異なります。~
 このOooの中で他の掲示板に同じものを投稿するのはマルチポスト~
 だと考えますが、誰もがこのOooの掲示板に行き着いているわけではないと考えます。よってインターネットの他の箇所はマルチポストに該当しないと考えています。ここの掲示板の最初のご案内は、もっと初心者にきていただきたいような趣旨のようだと考えられますので、そのあたりは緩和していただきたいと考えてます。~
 ~
 ご紹介いただいてます英語のフォーラムのものは、指定範囲のデータを~
 一枚のシートとして出力しているように考えられましたので、ちょっと違うかなと考えております。こちらは、範囲内だけのデータをCSV出力したいと考えており、このあたりは勉強不足であるのかもしれません。~
 ~
 いろいろとご紹介、アイデアをいただきましてありがとうございます。~
 今後時間がとれたときにでも調査・検討したいと考えております。~
 検討結果は、またこのスレッドにご報告させていただきます。~
 
 //
 ***とりあえず完了にします [#d92e3e36]
 >M.Kamataki (2010-03-10 13:51:27 (水))~
 ~
 Export selected range to CSV~
 http://www.oooforum.org/forum/viewtopic.phtml?t=90097~
 ~
 のコードですが、~
  oPV(0).Name = "FilterName" : oPV(0).Value = "Text - txt - csv (StarCalc)"
 ここが「ファイル出力時にCSV出力のフィルタを使うよ」という設定で、~
  NewDoc.storeToURL(sFile, oPV())
 ここでCSV出力しています。~
 ~
 OpenOffice.orgのマクロには不慣れでしょうから、気づきにくいでしょうが、「指定範囲のデータを一枚のシートとして出力している」だけではないです。ちなみに動作確認しましたが、データベース形式のCalc上のシートで、マウスで選択した範囲を、まず別ファイルにコピー&ペーストし、CSVファイルに出力できました(前回のわたしのコメントの修正を加えました)。よって、お考えの手順ではないかもしれませんが、当初のご質問である「マクロの紹介」は済んでいますので、当ページは完了にします。~
 ~
 なお、taniさんの発言に関連して、ちょうど最近のご質問ですが、faq/5/290「テキストデータの書き込み」あたりが参考になると思います。~
 ~
 マルチポストの件は、当サイトでは特に記述していませんので、当サイトを管理する立場からは、不問としています。また、結論の出る問題ではありませんので、これ以上の議論も不要です。~
 
 //
 #article