| 
    
     |  | 土曜日にちょっと覗いた時に、シート名を日付で…という 投稿があったように思われたのですが、削除されてしましましたね…。
 
 コードを考えたのでアップしておきます。
 
 Sub xlsOut()
 Dim FSO As Object
 Dim xlsApp As New Excel.Application
 Dim xlsWkb As New Excel.Workbook
 Dim MyTBL As String
 Dim MyFile As Variant
 Dim MyDate As String
 Dim MySheet As Variant
 Dim Cnt As Long
 
 '出力するテーブル、出力先ファイルの指定
 MyDate = Format(Now(), "m月dd日")
 MyTBL = "tempTBL"
 MyFile = "c:\temp.xls"
 
 '存在チェック
 Set FSO = CreateObject("Scripting.FileSystemObject")
 If Not (FSO.FileExists(MyFile)) Then
 DoCmd.TransferSpreadsheet acExport, _
 acSpreadsheetTypeExcel9, MyTBL, MyFile, True
 
 'エクセルシートの名前を変更
 Set xlsWkb = xlsApp.Workbooks.Open(MyFile)
 xlsWkb.Sheets(MyTBL).Name = MyDate
 xlsWkb.Save
 xlsWkb.Close: Set xlsWkb = Nothing
 xlsApp.Quit: Set xlsApp = Nothing
 Else
 
 '同日のシートが見つかった場合は削除
 Set xlsWkb = xlsApp.Workbooks.Open(MyFile)
 For Each MySheet In xlsWkb.Sheets
 If MySheet.Name = MyDate Then
 xlsApp.DisplayAlerts = False
 xlsWkb.Sheets(MyDate).Delete
 xlsApp.DisplayAlerts = True
 Exit For
 End If
 Next
 
 '出力先ファイルにシートを追加
 Cnt = xlsWkb.Sheets.Count
 xlsWkb.Sheets.Add after:=xlsApp.Worksheets(Cnt)
 xlsWkb.ActiveSheet.Name = MyDate
 xlsWkb.Save
 xlsWkb.Close: Set xlsWkb = Nothing
 xlsApp.Quit: Set xlsApp = Nothing
 DoCmd.TransferSpreadsheet acExport, _
 acSpreadsheetTypeExcel9, MyTBL, MyFile, True, MyDate & "!"
 End If
 End Sub
 
 1日に複数回出力した場合は、最新のシートのみが存在します。
 
 |  |