Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8155 / 9994 ←次へ | 前へ→

【5019】Re:既存のExcelファイルにエクスポートす...
回答  小僧  - 05/5/13(金) 13:47 -

引用なし
パスワード
   ▼にしもり さん:
こんにちは。Accessの方はお久しぶりですね。

[#4844]にて
>「TransferSpreadsheet」のヘルプには「acExport」の際のRange指定は
>記載されていないので正しい使い方ではないと思いますが、
>当方の環境では作動しております。(WindowsXP/Access2002/Excel2002)

と書きましたが、やはり正しい使い方でないのか弊害がでてしまいました。
Excel の CopyFromRecordset というメソッドを使用してコードを書き直しました。

Sub TEST2()
Dim FSO As Object
Dim xlsApp As New Excel.Application
Dim xlsWkb As Excel.Workbook
Dim xlsSht As Excel.Worksheet
Dim MyFile As Variant
Dim Cnt As Long
'
'TBLのデータをレコードセットに記録
'-----------------------------------------------------------
  'DAOの場合
  Dim RS As DAO.Recordset
  Set RS = CurrentDb.OpenRecordset("aa")
  
  'ADOの場合
  'Dim RS As New ADODB.Recordset
  'RS.Open "SELECT * FROM aa", CurrentProject.Connection
'-----------------------------------------------------------

'出力ファイルの指定
  MyFile = "C:\新しいフォルダ\回数表.xls"
  MyFile = "C:\Documents and Settings\x0007546.MOS\デスクトップ\サンプル\aaa.xls"

'存在チェック
  Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not (FSO.FileExists(MyFile)) Then
      DoCmd.TransferSpreadsheet acExport, _
      acSpreadsheetTypeExcel9, "aa", MyFile, True
    Else

'出力先ファイルにシートを追加
      Set xlsWkb = xlsApp.Workbooks.Open(MyFile)
      Cnt = xlsWkb.Sheets.Count
      xlsWkb.Sheets.Add after:=xlsApp.Worksheets(Cnt)
      Set xlsSht = xlsWkb.ActiveSheet
      xlsSht.name = "aa" & Cnt
        For Cnt = 1 To RS.Fields.Count
          xlsSht.Cells(1, Cnt).Value = RS.Fields(Cnt - 1).name
        Next
      xlsSht.Range("A2").CopyFromRecordset RS
      xlsWkb.Close True: Set xlsWkb = Nothing
      xlsApp.Quit: Set xlsApp = Nothing
    End If
  RS.Close
  Set RS = Nothing
End Sub

参照設定を開いて、
>> Microsoft DAO x.x Object Library
にチェックがついていればDAOで、

>> Microsoft ActiveX Data Objects x.x Library
にチェックがついていればADOで、

両方ともチェックがあればお好きな方で試してみてください。

2,092 hits

【4842】既存のExcelファイルにエクスポートするには にしもり 05/4/7(木) 16:34 質問
【4844】Re:既存のExcelファイルにエクスポートす... 小僧 05/4/8(金) 11:18 回答
【4849】Re:既存のExcelファイルにエクスポートす... にしもり 05/4/8(金) 16:13 お礼
【4867】Re:既存のExcelファイルにエクスポートす... 小僧 05/4/11(月) 10:27 発言
【4899】Re:既存のExcelファイルにエクスポートす... clike 05/4/15(金) 11:26 質問
【4900】Re:既存のExcelファイルにエクスポートす... 小僧 05/4/15(金) 12:44 回答
【4901】Re:既存のExcelファイルにエクスポートす... clike 05/4/15(金) 13:07 質問
【4902】Re:既存のExcelファイルにエクスポートす... 小僧 05/4/15(金) 14:09 回答
【4906】Re:既存のExcelファイルにエクスポートす... clike 05/4/15(金) 17:39 質問
【4919】Re:既存のExcelファイルにエクスポートす... 小僧 05/4/18(月) 9:56 回答
【5018】Re:既存のExcelファイルにエクスポートす... にしもり 05/5/13(金) 12:47 質問
【5019】Re:既存のExcelファイルにエクスポートす... 小僧 05/5/13(金) 13:47 回答
【5020】Re:既存のExcelファイルにエクスポートす... にしもり 05/5/13(金) 14:06 お礼

8155 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free