No.1ベストアンサー
- 回答日時:
【要旨】
Access側の設定では、対応不可と思われますので、対応するとしたら
AccessかExcel上でVBAにて処理するしかなさそうです。
【詳細】
確かに、Excelのセルには、横位置と同様の書式設定が、縦位置にも
用意されていますが、Accessのデータシート(テーブルの他、フォームの
データシートビューを含む)では、縦位置には用意されていないようです。
(フォーム/レポートのテキストボックスでは、『上余白』『下余白』などで
代替的な対応なら可能ですが・・・)
※なお、Access2003では、データシートビューでは横位置も設定不可
でしたが、Access2007ではテーブルも含めて横位置は設定可能でした。
そのため、Access側の設定で、書式を同時保存するような指定を
しても、その対象に『縦位置の配置』を含めることはできないものと
思います。
・・・ということで、Excel側のテンプレートファイル(Excel起動時に表示
される状態を指定できる)をいじればどうにかなるかと思ってやってみた
のですが、残念ながら「Accessからのエクスポートにより、新規に作成
したExcelファイル」については、既定のテンプレートファイルの設定は
反映されませんでした。(※)
なので、あとは
・Accessからの出力時に、出力ファイルに書式設定までしてしまう
・Excel側でマクロを作成して、出力後にそのマクロを起動する
のどちらかしかないように思います。
以下、「出力」アクション(OutPutToメソッド)の後に、出力したExcel
ファイルに書式設定(縦位置の配置を「中央寄せ」に設定)するコードを
書いてみましたので、参考までに提示します:
Private Sub 出力_Click()
'エラーが発生した場合は「エラー処理」に移動させるための宣言
On Error GoTo エラー処理
'変数を宣言(ファイル名とテーブル名用)
Dim strFile As String, strTbl As String
'VBAのメニューの「ツール(T)→参照設定(R)」で、「Microsoft Excel
'#.#」(「#」は数字)のチェックをオンにした場合は以下の宣言を使用
Dim xls As Excel.Application, WKB As Excel.Workbook, WKS As Excel.Worksheet
'上記の参照設定を指定しない場合は以下の宣言を使用
'Dim xls As Object, WKB As Object, WKS As Object
'出力するテーブル名を変数に記録(→TextBoxに入力させるもよし)
strTbl = "テーブル1"
'出力ファイル名を指定(ドライブから未指定時の動作は未確認(汗))
strFile = "c:\test.xls"
'Excel形式で出力
DoCmd.OutputTo acOutputTable, strTbl, "MicrosoftExcelBiff8(*.xls)", strFile
'上記で出力したファイルを、Excelアプリケーションで開く
Set xls = CreateObject("Excel.Application")
Set WKB = xls.WorkBooks.Open(strFile)
'テーブル名がシート名になっているはずなので、そのシートを指定
Set WKS = WKB.Worksheets(strTbl)
'上記シートの全てのセルの縦位置を「中央寄せ」に変更して保存
WKS.Cells.VerticalAlignment = xlCenter
WKB.Save
終了処理:
'エラーで途中終了しても、Excelが立ち上がったままにならないよう、
'Excelアプリケーションを可視化(上の処理中は全て不可視です)
If xls Is Not Nothing Then xls.Visible = True
'念のためメモリを開放して終了
Set WKS = Nothing
Set WKB = Nothing
Set xls = Nothing
Exit Sub
エラー処理:
'エラーが発生した場合はメッセージを表示した後、「終了処理」へ。
MsgBox Err & ":" & Error$, , Me.Name & " 出力"
Resume 終了処理
End Sub
・・・以上です。
※上記の「Excelのテンプレート」で私が試したのはこちらの設定法です:
http://office.microsoft.com/ja-jp/excel/HP051995 …
「Accessから出力するExcelに反映するならそこじゃない」という
情報をお持ちの方がいらっしゃったら、VBAで処理する必要がなくなる
のですが・・・(汗)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) 教えてください! アクセスの書式設定を保持したまま エクスポートについてですが、 出力ファイル名を 1 2022/08/29 09:49
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Access(アクセス) アクセスで教えてください。 クエリで2日前を抽出する計算式を 入力して表示させると ちゃんとyyyy 1 2023/06/08 21:05
- Excel(エクセル) Excelで、Excelの小テストで、中央揃えとかありますが、右クリックで、セルの書式設定から中央ぞ 3 2022/12/29 12:43
- Excel(エクセル) エクセルの「セル書式設定」 4 2022/08/29 16:42
- Excel(エクセル) エクセルに詳しい方 よく読んでからのご回答お願いします 外部からデータが来ますが、日付が202201 7 2022/06/29 16:15
- Excel(エクセル) エクセルで日付に続けて連番を表示したい 6 2022/05/25 23:33
- Excel(エクセル) Excel VBA セルの書式設定 2 2022/03/30 10:48
- Excel(エクセル) 【Excel:条件付き書式 データバー】 正負の軸の位置を変更する方法を教えてください 3 2023/01/08 19:41
- Excel(エクセル) エクセルの条件付き書式について エクセルでカレンダーを作りました。縦に日付が並んでいて、横にスケジュ 3 2022/10/10 15:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
マクロについて質問です。 現在...
-
VBA 参照先で選んだファイルを...
-
Excel で「OLE は現在使用でき...
-
VB6.0でExcel,PDF,Word出力方法
-
コマンドプロンプトのテキスト...
-
C# コンソールアプリでのログ出力
-
C++のプログラミング(画像処理)
-
CreatePipeについて
-
TransferSpreadsheetでフルパス...
-
excel vbaでのxml出力がわかり...
-
AccessのレポートからPDFをペー...
-
44行目: パラメータ '__format'...
-
COBOL、項目末尾に空白がある場...
-
VB.NET操作で Excelにビットマ...
-
COBOL FILLER
-
ファイナルカットで編集した動...
-
VBA。開いているテキストファイ...
-
Office Onlineで作ったファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
コマンドプロンプトのテキスト...
-
COBOL、項目末尾に空白がある場...
-
Thunderbird 受信メールからの...
-
VB6.0でExcel,PDF,Word出力方法
-
ショートカットで起動した場合...
-
AccessのレポートからPDFをペー...
-
accessのリポートを、excelに出...
-
Acrobat参照設定
-
Excel で「OLE は現在使用でき...
-
ファイナルカットで編集した動...
-
WshShellから起動したbat(ftp)...
-
COBOL FILLER
-
エクセルが裏で動いたままなん...
-
Fortranでの出力ファイル
-
マクロについて質問です。 現在...
-
iTextでPDFを表示させたら日本...
-
TransferSpreadsheetでフルパス...
-
ACCESS2002(or2003)の日付表示...
おすすめ情報