0

1つのワークブックに数百の異なるワークシートがあり、各ワークシートのすべてのデータを他のワークシートに追加(合計ではなく)して、すべてを1つの巨大なマスターワークシートに入れる必要があります。すべての列名は、すべてのワークシートでまったく同じです。

ここでの私の最終目標は、マスターワークシートからすべてのデータを取得してAccessデータベースに配置することです。したがって、何百ものExcelワークシートから一度にデータを取得してデータベースに配置する簡単な方法を誰かが知っている場合は素晴らしいことだ。

これを行うための最良の方法は、ある種のVBScriptのようですが、私はそれをよく知りません。

4

1 に答える 1

1

VBA は VBScript よりも簡単に使用できます。

   'Requires reference to the Microsoft Excel x.x Object Library

   Dim strFileName As String
   Dim objXL As New Excel.Application
   Dim wkb As Excel.Workbook
   Dim wks As Object

   'objXL.Visible = True

   strFileName = "C:\Docs\LTD.xls"
   Set wkb = objXL.Workbooks.Open(strFileName)

   For Each wks In wkb.Worksheets
      DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
           "TableName", strFileName, True, wks.Name & "$"
   Next

   'Tidy up
   wkb.Close
   Set wkb = Nothing
   objXL.Quit
   Set objXL = Nothing

Transferspreadsheet: http://msdn.microsoft.com/en-us/library/office/bb214134(v=office.12).aspx

長い列名、列名の予約文字または名前、日付データ型、列内の混合データ、および列内の長いデータで問題が発生する可能性があることに注意してください。

于 2013-01-02T21:34:20.393 に答える