|
▼VBA初心者 さん:
こんにちは。
>「acExport, 8,」の部分が解釈できません。
TransferSpreadsheet のヘルプはご覧になられましたか?
(Accessのヘルプではなく、VBAのヘルプですね)
英語のページしか見つかりませんでしたが
MSの
h tp://msdn.microsoft.com/en-us/library/bb225982.aspx
MSのサイトにもありますね。
> エクセルのセル内に綺麗に収まり画面にデータが出力されます。
> TransferSpreadsheetを使っても同じように出力できますでしょうか。
Output To メソッド も TransferSpreadsheet も
お手軽にExcelへの出力を行ってくれる半面
今回の様に細かく書式やセルの大きさを設定できない
欠点もあります。
以前に
>> Output To メソッドを使った後に書式を変更する事も可能ですが
>> ExcelVBAとオートメーションの知識が必要となってきます。
と回答させて頂きましたが、
オートメーションを使う必要がありそうですね。
Private Sub コマンド35_Click()
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim strSQL As String
Dim strWhere As String
Dim xlsApp As Object
Dim xlsWkb As Object
Dim xlsFileName As String
Dim i As Long
'フィルタを掛けた時点で Hitするものがなかったような場合は
'メッセージを出して処理を中止します。
If Me.Recordset.EOF Then
MsgBox Prompt:="出力するデータがありませぬ" _
, Buttons:=vbExclamation
Exit Sub
End If
Set DB = CurrentDb
xlsFileName = "C:\" & Format(Date, "yyyy_mm_dd") & "ホストデータ.xls"
'もし Filterプロパティになにも記述されていなかったら
'フォームに表示されている全データを出力するようにします。
If Me.Filter = "" Then
strWhere = True
Else
strWhere = Me.Filter
End If
'変数に SQL文を代入します。
'Filter プロパティに記述されているものを抽出条件とします。
strSQL = ""
strSQL = strSQL & " SELECT 登録日 "
strSQL = strSQL & " , QH_COMM AS 事業所 "
strSQL = strSQL & " , NEW_HOSTNAME AS 新PC名 "
strSQL = strSQL & " , QH_IPADR AS IPアドレス "
strSQL = strSQL & " , MEMO2 AS メモ1 "
strSQL = strSQL & " , MEMO3 AS メモ2 "
strSQL = strSQL & " , MEMO4 As メモ3 "
strSQL = strSQL & " , MEMO5 As 事項 "
strSQL = strSQL & " FROM " & Me.RecordSource & " "
strSQL = strSQL & " WHERE " & strWhere
'レコードセットに対象のデータを代入します
Set RS = DB.OpenRecordset(strSQL, dbOpenSnapshot)
'以下Excelの操作------------------------------------------
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
Set xlsWkb = xlsApp.workbooks.Add
With xlsWkb.Sheets("Sheet1")
For i = 0 To RS.Fields.Count - 1
.Range("A1").Offset(0, i).Value = RS.Fields(i).Name
Next i
.Range("A2").CopyFromRecordset RS
.Columns("A:H").AutoFit
End With
xlsWkb.SaveAs xlsFileName
xlsWkb.Close: Set xlsWkb = Nothing
xlsApp.Quit: Set xlsApp = Nothing
MsgBox "出力が終了しました"
End Sub
ご参考になれば幸いです。
|
|