• ベストアンサー

VBでCSVに書き込みをするには?

プログラム超初心者です。皆様教えて下さい。 りんご,2,100 いちご,4,500 このようなCSVファイルに VBにて 100 を 200 に書き換えるのには、どのようにすれば いいのでしょうか?splitで切り分けて書くようなイメージはあるのですが・・・ よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

>書き換えるのには シーケンシャルファイルは書き換えることはできません(しません)。 別のファイルを新たに作るのです。 メモ帳に(質問のデータ) りんご,2,100 いちご,4,500 を貼り付け、text7.csvとして保存。 Sub test01() Open "C:\Documents and Settings\XXX\My Documents\test7.csv" For Input As #1 Open "C:\Documents and Settings\XXX\My Documents\test8.csv" For Output As #2 r = 0 While Not EOF(1) Input #1, a, b, c r = r + 1 If r = 1 Then c = 200 End If Print #2, a; ","; b; ","; c Wend Close #1 Close #2 End Sub を実行し、メモ帳でtext8.csvを開くと りんご, 2 , 200 いちご, 4 , 500 となりました。 項目前後に1文字スペースが入るが、ダメなら、Line Input で読み Split関数で、Arrayに各項目を分離し、項目とカンマをPrintすればできるでしょう。 CSVファイルも2種ぐらいあります。 ファイルのパスのXXXの部分は適当に修正すること。

関連するQ&A

  • VB6.0 で CSVファイルをEXCELで起動

    VB初心者です。 質問内容なのですが、 VBで「ドライブ/ディレクトリ/ファイルリストボックス」を用いて、ファイルボックスから表示されたファイルをクリックしてCSVファイルをEXCELで起動したいプログラムを作成したいのですが、 CSVファイルをクリックしたときにEXCELで起動する部分のプログラムがわかりません。 言葉足らずの部分が多々あるかと思いますが、手が空いたときにでも、御教授を宜しくお願い致します。

  • VB5でCSVデータをAccess97のDBへセット

    普段はVB.NETの開発をすこししているのですが VB5のプログラムの修正の依頼が来て困っています。 CSVのデータをVB5でAccess97のDBへデータセットしたいのですが VB.Netでは同様のプログラムを作成した事があるのですが VB5は全然仕様が違うので困っています。 VB5でCSVを読み込んで配列にセットするにはどのように したらいいのでしょか?CSVを行で読み込むところは なんとか調べてわかりましたが、VB5ではSplitや配列が使えそうに ないのでどのようにしたらいいのかわかりません。 よろしくお願いします。 現在のソース Dim strTextLine As String Dim strTxtDat As String intFileNo = FreeFile Open "c:\infile.csv" For Input As #intFileNo Do While Not EOF(intFileNo) Line Input #intFileNo, strTextLine Loop Close #intFileNo

  • CSVファイルの取り込み

    みなさんはじめまして VB初心者です。 個人+仕事で色んなデータをエクセルに納めています。 そのデータ(CSV)をオラクルのデータベースに収めようと思っています。 その為データをオラクルに取り込むプログラムを作ろうと思っていますが、 その前段階として、CSVファイルを取り込みたいのですが、買った入門者 用の本にはそんな事がかかれていなくて、どのように取り込めばいいのかが わかりません。大きな本屋で、それらしいものを探していましたが、見当た らなかったです。(というよりわからなかったと言うのが正解です) どのようにしてCSVファイルを取り込めばいいのでしょうか?

  • VB2010でCSVへ書き込みする方法

    いつも参考にさせていただいております。 当方会社でVB2010を使い、何人かに配布をして使ってもらうのが目的です。 しかし、データベース構築は考えておらず、それぞれでデータは完結するものです。 そこでCSVファイルが一番良いと判断しましたが、書き込み方法がわかりません。 EXCELファイルに書き込むことはできるのですが、同じように配列を指定できるのでしょうか? 持っている本では詳しく載っていなかった為、サンプルコード等を教えていただけないでしょうか? 調べてみましたが2010のサイトが少ない為、投稿させていただきました。ご教授願います

  • VB2010でプロジェクト内に置いたCSVについて

    いつも参考にさせていただいております。 当方会社でプログラムを組む為にVB2010にて基礎書籍で勉強中で、 多次元配列が終わって「CSVの読み書き」や「データベース」をやりはじめたところです。 色々自分なりにいじっていたところ・・・ プロジェクトを開く→CSVファイルをプロジェクト名までドラッグ  をすると、プロジェクト内にCSVファイルがコピーされ、内容も見ることができました。 通常CSVファイルで読み書きをする場合はフルパス指定などのコード記述をしますが、  (1)プロジェクト内にCSVファイルを置けば、簡単に記述できるのでは?    と思ったのですが、そのようなやり方はありますでしょうか?  (2)又、簡単に記述ができなくても何か利点がありますでしょうか? 私が持っている書籍やインターネットでは見つからなかったので、 そもそもそんな方法はないかもしれませんが、(1)、(2)の内容を ご存じの方いましたら御解答願います。 当方PC使用環境 OS:WindowsXP SP3 Microsoft Visual Basic 2010 Express

  • vbからのCSV出力について

    VB6.0について質問です。 CSV出力でデータ数がエクセルの限界を超えそうなので 統計ソフトのSPSSというソフトを使おうと思うのですが VBからSPSSへの連携はできるのでしゅうか? 現在、データをカンマ区切りで変数に格納し拡張子をCSVにして出力すると 自動的にCSVファイルが作成されますが SPSSでCSV出力させるにはどうやればよいですか? 当方SPSSは触ったことがないのでお知恵をお貸しください++

  • VB2010でCSVファイルを読み、配列に入れる

    ExcelVBAで、フォルダを選択しCSVファイルを表示⇒クリックで対象ファイルを選び配列に入れる次のプログラムを作りました。その後でデータを加工しグラフィック化してるのですが、VBAのグラフィック機能が遅いのでVB2010に変えようと思いいろいろやってみたのですが、どうもうまくいきません。 どなたか、VB2010ではどのようなプログラムになるのか、教えていただけないでしょうか。 'Excel VBA---------------------------------------- Sub CSVデータ() Dim xd(1000),yd(1000) 'フォルダを選ぶ ChDir ThisWorkbook.Path 'CSVファイルの一覧 pname = _ Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv" _ , FilterIndex:=1,Title:="開く",MultiSelect:=False) '対象ファイルをクリックで選ぶ If pname <> False Then Workbooks.Open Filename:=pname End If fname = ActiveWorkbook.Name 'CsVファイルのセルから配列へ移す nstart = 6 nend = nstart +500 k = 0 For i = nstart To nend '6行目から500行の2列、3列を読み配列に入れる k = k + 1 xd(k) = Cells(i, 2) yd(k) = Cells(i, 3) Next i End Sub

  • 【VB6】CSVファイルの内容の条件設定をして表示

    【VB6】CSVファイルの内容の条件設定をして表示 お世話になります。 VB6で、テキストボックスにCSVの内容を表示するプログラムを作成したのですが、 CSVの一部の行だけをif文で検索をかけるような内容を追加しようとしておりますが、良い方法はございますでしょうか。 例えば、Excelで開く所のA列が「日付」の項目であり、1/1から3/1までのCSVの内容を表示…といった具合です。 CSVをテキストボックスに表示させるプログラムは、下記サイトを参考にしています。 http://hanatyan.sakura.ne.jp/(VB6.0関係>ファイル操作関係>です) 参考になるサイトがございましたらお教え下さい。よろしくお願い致します。

  • CSVファイル読込みについて

    CSVファイル読込みで困っています。 どなたかご教授をお願い致します。 CSVファイル読込みを行うと、複数行のデータにも関わらず、ネットで調べたプログラムを用いると、1行で読込まれてしまいました。 その原因として、NL(LF)で改行されていたためです。 これをどうにか複数行で読込みを行うための方法はありませんか? NLがある場合、それをvbCrLfに変換してやればよいとは思ったのですが、うまくプログラムを組むことができません。 プログラムをどう組めばよいのか教えて頂けないでしょうか? 以下のサイトを利用させて頂き、読込みを行おうとしました。 http://www.k1simplify.com/vba/tipsleaf/leaf291.html VB初心者なので、どなたかご教授頂けると助かります。 よろしくお願い致します。

  • VBでCSVファイルのある行をインポート

    VBでCSVのインポートをしたいのです。 CSVファイルの中身で、最初の5行は読みません。そして、カンマ区切りの行の最初の文字が数字である場合だけを読みたいのです。で最後の3行も読みません。 ですので、CSVのデータを読む場合に最初の5行を飛ばすという方法か、カンマ区切りの行の最初の文字が数字の場合だけ読むという方法はありませんでしょうか。 Line Input #intFileNo, strTextLine strTextLine = Replace(strTextLine, """", "") str = Split(strTextLine, ",") こんな感じのコードで考えてます。 お分かりの方いましたらお願いします。

専門家に質問してみよう