SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

VB テクニック編16 - Excel XLS シート読み込み、XLS シート書き込み

■SAK 関数利用規程

  ・テクニック編で紹介する関数は、私こと Y.SAK の開発関数である。
  ・著作権明示部分の改編は認めない。
  ・個人、企業がこれらの関数を使用したり、一部を使用して新たなシステムや
    プログラムを開発することは自由です。
  ・但し、これらの関数を一部でも使用しているソフトウェアをシェアウェア、
    その他有償プロダクトとして配布・販売するには、私の許可が必要です。
    (無償のフリーソフトウェアなら、自由に配布しても良い。)
  ・これらの関数を使用して発生した、いかなる形での損害も私こと Y.SAK は
    賠償しません。

■Excel XLS シート読み込み

  ・XLS シートを読み込んで、VB 内で様々な処理を行うことができる。
    次の例では、XLS シート内のデータを CSV ファイルに変換出力している。
    シートのセルを参照するには、cells を使用すると便利である。
    (Excel 読み込み)

  Dim fnm As String
  Dim fnm2 As String
  Dim rec As String
  Dim i As Long
  Dim j As Long
  Dim exl As Object

  fnm = "g:\tmp\test.xls"
  fnm2 = "g:\tmp\test.csv"

  Set exl = CreateObject("Excel.Application")
  exl.Application.Visible = True
  exl.Application.Workbooks.Open FileName:=fnm
  Open fnm2 For Output As #1 Len = 32000
  For j = 1 To 65536
    If exl.Cells(j, 1) = "" Then Exit For
    rec = ""
    For i = 1 To 256
      If exl.Cells(j, i) = "" Then Exit For
      rec = rec & Chr(&H22) & exl.Cells(j, i) & Chr(&H22) & ","
    Next
    If Right(rec, 2) = Chr(&H22) & "," Then rec = Left(rec, Len(rec) - 1)
    Print #1, rec
  Next
  Close #1
  exl.Application.DisplayAlerts = False
  exl.Application.Quit

■Excel XLS シート書き込み

  ・CSV ファイルを読み込んで、Excel シートに展開。
    XLS ファイルに保存するには、次のようにします。
    但し、コードのゼロ埋め処理はしていません。
    (Excel 書き込み)

  Dim fnm As String
  Dim fnm2 As String
  Dim rec As String
  Dim i As Long
  Dim j As Long
  Dim k As Long
  Dim exl As Object

  fnm = "g:\tmp\test.csv"
  fnm2 = "g:\tmp\test.xls"

  Set exl = CreateObject("Excel.Sheet")
  exl.Sheets(1).Name = "test"
  exl.Application.Visible = True
  exl.Windows.Arrange ArrangeStyle:=1
  k = GetCntCSV(fnm)
  Open fnm For Input As #1 Len = 32000
  j = 1
  Do Until EOF(1)
    For i = 1 To k
      Input #1, rec
      exl.worksheets(1).Cells(j, i).Value = rec
    Next
    j = j + 1
  Loop
  Close #1
  exl.saveas fnm2

■VB テクニック編資料
■VB 入門編資料
■VB 基礎編資料
■VB ビジュアル編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK