即効テクニック

ファイル操作・他アプリケーションとの連携

Excelブック内のシート名を取得する

(Access 97)
  Accessのインポートや、リンクの操作を自動化するプログラムを作成するような場合、Excelブック内に含まれる全てのシートあるいは特定のシート名の取得をする必要があります。
そこで、Accessから、特定のExcelファイル内に含まれる全てのシート名を取得する方法を紹介します。


●サンプル●

Public Function Sample()

  Dim Mydb   As Database
  Dim tbl    As TableDefs
  Dim I      As Integer
  Dim wsName As String

  Set Mydb = OpenDatabase("C:Book1.xls", False, False, "excel 5.0;hdr=no;")
  For I = 0 To Mydb.TableDefs.Count - 1
     wsName = Mydb.TableDefs(I).Name

    '取得したシート名に付加された"$"マークを取り除きます。
     wsName = Mid(wsName, 1, InStr(1, wsName, "$", 1) - 1)
     
     MsgBox wsName
     
  Next I
  
  Mydb.Close
  
End Function