過去の桐井戸端BBS (桐ver.5) |
17572 | 桐v2やv5のデータをExcelへ変換したい | 河野祐美 | 2002/10/14-20:14 |
桐V2と桐V5を使用して会社のデータを昔から大量に保存してきています。 その中のあるデータを お客様へExcelにして至急ご提供申し上げなければならないのですが 素人で変換できるソフトご案内いただけますでしょうか? よろしく お願い申し上げます。 | |||
17573 | Re:Excelへの変換 | 麻呂 | 2002/10/14-20:51 |
記事番号17572へのコメント 河野さんこんばんは。 桐のデータをエクセルに書き出すには、 CSVで書き出し、エクセルで立ち上げエクセルファイルに変換すればいかがですか。 | |||
17574 | Re:Excelへの変換 | 幅田 | 2002/10/14-21:18 |
記事番号17573へのコメント >桐のデータをエクセルに書き出すには、 >CSVで書き出し、エクセルで立ち上げエクセルファイルに変換すればいかがですか。 桐v2や桐v5にはcsv書き出しはありません。 k3フォーマットやテキストで書き出す方法もありますが、項目名は書き出されません。 桐v8をお持ちでしたら、桐v5の表なども読み込むことができますし、 csv書き出しで項目名をつけて書き出すこともできます。 桐v8をお持ちでない場合、 お急ぎのようですので、桐v8の入手が間に合わないのでしたら 管理工学のホームページから http://www.k3-soft.com/ とりあえず桐v8の体験版をダウンロードすれば、いかがでしょう? 90日間、製品版と同じ機能を使うことができます。 なお、10月18日発売予定の桐v9でしたら ズバリ「エクセル書き出し」の機能がついていますので、 桐v5の表を読み込んでそのままエクセル形式で書き出すことができるのですが・・ 発売までは待てないのかな? もう少し前だったら、桐v9のβ版もダウンロードできたのですが、今はできません。 桐v9体験版のダウンロードもできるようにしてほしいですね。>k3さん | |||
17576 | CSV変換の一括処理 | 佐田 守弘 | 2002/10/15-00:02 |
記事番号17572へのコメント 河野祐美さん かつて、桐ver.5で項目名付でCSVファイルを書き出す桐の一括処理を作成した事があります。 私のサイトにも掲載してあると思いますが、探すのが大変でしたら、 ベクターの以下のサイトからダウンロードしてみて下さい。 (ここには確実にあります) http://www.vector.co.jp/soft/dos/business/se064046.html 佐田守弘(KS-00119) | |||
17578 | Re:Excelへの変換 | hidetake | 2002/10/15-06:34 |
記事番号17574へのコメント 相手に項目名が必要かどうかは別にして桐のデータを Excel のデータに変換する場合, K3 や CSV 等のテキストファイルに落として,それを Excel 読み込ます等の操作が必要です. その際にやっかいなのは,K3 や CSV はデータ型を持たない単なるテキストデータなので, データによっては思いもよらない形式に変換される場合があります. 例 "95-01" -> Jan 95 / "1/5" ->1月5日 特に Excel との交換で良く使われる CSV形式ですと,Excel もその形式を直にサポートしているので ダブルクリックだけでも Excel で開けるようになっているのが普通で,そのまま読み込んでしまいます. 中身的には CSV はファイルでも,拡張子が CSV 以外ですと,ウィザードの画面にになり, 項目毎にデータ型を指定する事が可能です. 特にデータで時間型に間違われそうなデータが入っていない時は CSV 形式,もしくはK3 形式のファイルの拡張子を CSV にリネームして Excel に読み込ませれば良いでしょう. そうでない場合,CSV で書き出して拡張子を TXT や DAT に変更したり,K3 ファイルそのものを使った方が良いと思います. ただ,K3 ファイルを Excel で読み込ますと最終行にゴミがつきますので,無視するか, 相手にとってじゃまになる場合は手動で削除する必要があります. CSVファイルを高速に読み込む http://www2.moug.net/cgi-bin/technic.cgi?exopr+TI06010017 もし,桐9 がでるまで余裕があるのなら 桐9 を待った方が簡単かも? | |||
17579 | Re:Excelへの変換 | hidetake | 2002/10/15-06:47 |
記事番号17578へのコメント もし桐から自動化して Excel ファイルを作成したい場合 次のような VBS で可能です. 桐のシステムコマンドで実行させます. ただし,K3 ファイル,もしくは,CSV ファイルは事前に作っておく事と, そのパソコンには Excel はインストールしてあり,WSH (VBS) が実行可能である事を前提とします. 1つ目の方法 (ファイルを CSVファイルとして Excel で読み込む) ==== csv2xls.vbs ================================== 使用方法: csv2xls.vbs "x:\path\txt.txt" "x:\path\excel.xls" --------------------------------------------------- Dim arg, csv, xls, fs, xl, book, sheet Set arg = WScript.Arguments If Arg.Count < 2 Then WScript.Quit End If csv = arg(0) xls = arg(1) Set fs = Wscript.CreateObject("Scripting.FileSystemObject") If fs.FileExists(xls) = True Then fs.DeleteFile xls,True End If Set xl = Wscript.CreateObject("Excel.Application") xl.Visible = Fales xl.DisplayAlerts = Fales Set book = xl.WorkBooks.Open(csv,,,2) Set sheet = book.worksheets(1) Sheet.Activate book.SaveAs xls, 39 ’book.SaveAs "x:\filename.ext", xlExcel5 ’xlCSV = 6 ’xlCSVMac = 22 ’xlCSVMSDOS = 24 ’xlCSVWindows = 23 ’xlExcel5 = 39 ’xlExcel9795 = 43 ’xlHTML = 44 ’xlWorkbookNormal = -4143 book.Close True xl.Quit Set xl = Nothing Set arg = Nothing Set fs = Nothing =================================================== 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 2つ目の方法 (ファイルを CSVファイルとして Excel で読み込む) (但し," で囲まれたデータは文字列として扱う!) ==== csv2xls2.vbs ================================== 使用方法: csv2xls2.vbs "x:\path\txt.txt" "x:\path\excel.xls" --------------------------------------------------- Dim arg Set arg = WScript.Arguments If Arg.Count < 2 Then WScript.Quit End If Dim fs,txt,xl,book,sheet k3=arg(0) xls=arg(1) Set fs = Wscript.CreateObject("Scripting.FileSystemObject") Set txt = fs.OpenTextFile(k3) Dim strLine, strData, i, j, re, mc, d1, d2 Set re = CreateObject("VBScript.RegExp") re.Global = True Set xl = Wscript.CreateObject("Excel.Application") xl.Visible = Fales Set book = xl.WorkBooks.Add Set fs = CreateObject("Scripting.FileSystemObject") If fs.FileExists(xls) = True Then fs.DeleteFile xls,True End If book.SaveAs xls Set book = xl.WorkBooks.Open(xls) Set sheet = book.worksheets(1) Sheet.Activate i = 0 Do until txt.AtEndOfStream strLine = txt.ReadLine If strLine = chr(26) Then Exit Do End If re.Pattern = "(""([^""]|"""")*""|[^,]*)," mc = strLine & "," mc = re.Replace(mc,"$1"+chr(1)) strData = Split(mc, chr(1)) For j = 0 To UBound(strData) mc = strData(j) d1 = mc re.Pattern = "^""" mc = re.Replace(mc,"") re.Pattern = """$" mc = re.Replace(mc,"") re.Pattern = """""" mc = re.Replace(mc,"""") mc = Replace(mc,"¶",chr(10)) d2 = mc If d1 <> d2 Then sheet.Cells(i+1,j+1).NumberFormat = "@" End if sheet.Cells(i+1,j+1) = mc Next Erase strData i = i + 1 Loop txt.Close book.Close True xl.Quit Set xl = Nothing Set txt = Nothing Set fs = Nothing Set re = Nothing Set arg = Nothing =================================================== | |||
17580 | Re:Excelへの変換 | hidetake | 2002/10/15-06:49 |
記事番号17579へのコメント >’book.SaveAs "x:\filename.ext", xlExcel5 >’xlCSV = 6 >’xlCSVMac = 22 >’xlCSVMSDOS = 24 >’xlCSVWindows = 23 >’xlExcel5 = 39 >’xlExcel9795 = 43 >’xlHTML = 44 >’xlWorkbookNormal = -4143 ここの掲示板って,シングルクォーテーションを通さないのだっけ? 上のはコメントだから行毎削除するか,半角のシングルクォーテーションに変更してください. なお,桐側で呼び出すシステムコマンドの部分は次のような感じになります. /*--------------------*/ 名札 Excel変換 */ /*--------------------*/ &COMMAND="WSCRIPT.EXE" \ ,&OPTION=&DATAPATH+"CSV2XLS.VBS" \ +" " \ +""""+&NAME+"""" \ +" " \ +""""+&WORK+"""" cond (#fsize(&WORK)>=0) \ ファイル削除 &WORK,終了状態=&RET システム &COMMAND \ ,&OPTION \ ,起動フォルダ=&DATAPATH \ ,自動クローズ=する \ ,フルスクリーン表示=しない \ ,&num cond (#fsize(&NAME)>=0) \ ファイル削除 &NAME,終了状態=&RET return | |||
17581 | Re:Excelへの変換 | hidetake | 2002/10/15-06:54 |
記事番号17580へのコメント なお,csv2xls2.vbs の方は正規表現を使っているので極端に遅いです. 大きなファイルですと覚悟して実行して下さい! (;_;) " で囲まれた部分は文字列にセルの書式を変更するので 前0(ゼロ)のついた文字列なども,桐側と同じように表現できるはずです. ただし,項目内改行には対応しておりませぬ. それから・・・ やっぱ桐でも正規表現が使いたいです! > kthree 様 _o_ | |||
17586 | Re:Excelへの変換 | 麻呂 | 2002/10/15-12:10 |
記事番号17574へのコメント 桐v5はCSVの書き出しなかったですか? それはすみませんでした。 Win桐ばかりつかっているのもで。 | |||
17589 | Re:Excelへの変換 | 河野祐美 | 2002/10/15-12:53 |
記事番号17572へのコメント みなさま さっそくにご丁寧に有難う御座いました。 ダウンロードしてしてみます。 河野祐美 |