• ベストアンサー

アクセス→エクセルへエクスポート 書式が「下詰め」になる

アクセスのテーブルをエクセルへエクスポートした時の セルの書式設定の配置の縦位置が「下詰め」になります。 できれば「中央揃え」で出力したいのですが。。。 私だけなのでしょうか?

noname#150256
noname#150256

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答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/HP051995961041.aspx?pid=CH062527921041   「Accessから出力するExcelに反映するならそこじゃない」という  情報をお持ちの方がいらっしゃったら、VBAで処理する必要がなくなる  のですが・・・(汗)

noname#150256
質問者

お礼

ありがとうございます! 原因がわかってすっきりしました! 対処法のコードを早速使わせていただきます。

関連するQ&A

  • エクセルで下詰めを解除できない

    前任者が作ったエクセルを開いたところ下詰めになっているものから中央揃えのものからバラバラだったので、全てのセルを選択し セルの書式設定で縦位置を中央揃えにしましたが、下詰めのまま直りません。 どうすればいいのでしょうか?

  • エクセルのセルの書式の設定

    win98se でエクセル2000を使っています。 セルの書式の設定の配置のタグのところの縦位置が下詰めになっています。 下詰め以外を指定するにはいちいちセルの書式設定で指定しなければなりません。 私は下詰めを殆ど使わないので最初から中央揃えになるように設定できないものでしょうか?

  • Excel2010 セルの書式設定 縦位置を中央

    windows7 Excel2010を立ち上げると セルの書式設定 → 文字の配置の縦位置が下詰になっています 中央揃えで立ち上げたいのですが デフォルトの設定を変える方法を教えてください。 

  • エクセル セルの書式設定で

    御願いします。 エクセルのセル書式設定では様々な書式や罫線などが 設定出来ますが、デフォルトの設定を変えることは 出来ないのでしょうか。 例えばデフォルトでは縦位置が「下揃え」になっています。これを中央にするにはどうすればいいのでしょうか。 また全セルの書式を変更した後で、セルの結合を行うと 横位置は勝手に「中央揃え」になります。 このかなりお節介な設定を無くするには何か方法が 有るのでしょうか。 オプションやプロパティにもないし... 宜しく御願いします。

  • Excelでセルの書式設定が勝手に変わる

    Excel2000で、[セルの書式設定]-[配置]-[文字の配置]-[縦位置]を[中央揃え]にしてから、[方向]を縦書きにすると、[中央揃え]にしてあった[縦位置]の設定が、[上詰め]に変わってしまいます。  そこで気が付いて、また[中央揃え]にするか、[方向]を[縦書き]にしてから[縦位置]に設定すればよいことはわかりますが、こんなところで操作順序を縛らなくてもよいのではないでしょうか。 順序に左右されない普通の状態にする方法がありましたら教えてください。

  • エクセル2000 セル結合時の書式設定を事前にカスタマイズできますか

    お世話になります。 エクセル2000を使用していますが、「セルの結合して中央揃え」のコマンドを使用した場合には、自動的に「セルの書式設定」の横位置が「中央揃え」で縦位置が「下詰め」になりますが、 これを自動的に横位置が「左詰め」で縦位置が「中央揃え」になるように設定する方法はありますか? よろしくお願いします。

  • エクセルの書式設定で分かりません

    こんにちはko-momoと申します。 エクセルの「セルの書式設定」なんですが、「配置」の文字の配置のところで「縦位置」が必ず「下詰め」に設定されているのです。 私は割とそういう細かいところが気になる質でして、必ず「中央揃え」に毎回修正していますが、これは最初の初期設定みたいなので設定できないのでしょうか? 「ツール」の「オプション」の「全般」でフォントとか新しいシートの数とかは設定できるのですが、表を作成したときの配置とかは設定できません。 どうか分かる方教えてください。よろしくお願いします。

  • エクセルでセルの書式設定を保存する方法

    書式設定から配置を選び、縦の位置を中央揃えにしたシートを保存する方法を忘れてしまいました。 会社で使っているパソコンが下揃えになっているので、 エクセルを開く度に直さないと入力が出来ないため困っています。どなたか教えて下さい宜しくお願いします。 説明が下手ですみません。

  • Excel のセル表示について

    エクセルを使用してますが、セルの表示位置(配置-縦位置)がデフォルトで 下詰め になっています。ほとんどの場合、中央揃え で使っているので このデフォルト設定を 中央揃え にしたいのですが、できるのか教えてください。

  • エクセルの書式設定について教えて下さい。

     Office2000を使っています。エクセルの書式設定(文字のフォント・サイズや罫線、配置等)には ・ファイル全体の書式設定  書式→スタイル から設定する場合 ・セルの書式設定  書式→セル から設定する場合 がありますが、後者のセルの書式設定を解除する方法を教えて下さい。  例えば、「書式→スタイル」で「配置→横位置が標準」になっているとし、「書式→セル」でA1のセルのみ「配置→横位置→中央揃え」に設定した後で、「配置→横位置→標準」に設定を戻した場合、  A1のセルには、「配置→横位置が標準」が設定されたままになり、「書式→スタイル」で「配置」を変更してもA1以外の「配置」の設定は変更されても、A1のセルの「配置→横位置が標準」は変わりません。  個々に「書式→セル」からの設定変更はできるので支障は全くないですが、疑問に感じたので質問しました。分かる方がいたら教えて下さい。

専門家に質問してみよう