アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESSからEXCELにエクスポートした際、ACCESS側でEXCELの書式設定は行えますか?(例:セルAの幅がX桁等)

データ件数が多すぎて、下記VBでエクスポート処理をしています。

DoCmd.TransferSpreadsheet acExport, 8, "XXX", "\XX.xls", False, ""

お手数ですが、ご教授願います。

A 回答 (3件)

例えばボタンにエクスポートの処理を書いているのでしたら


ボタンをCmd1とすると

Private Sub Cmd1_Click()
On Error GoTo Err_Cmd1_Click

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

DoCmd.TransferSpreadsheet acExport, 8, "XXX", "\XX.xls", False, ""

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("\XX.xls")
Set xlSheet = xlBook.Worksheets(1)

xlApp.Cells.Select
xlApp.Cells.EntireColumn.AutoFit
xlApp.Range("A1").Select
xlApp.Visible = False

xlApp.Quit

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

Exit_Cmd1_Click:
Exit Sub

Err_Cmd1_Click:
MsgBox Err.Description
Resume Exit_Cmd1_Click

End Sub

こんな感じで記述してください。

#1の中でxlApp.DisplayAlerts = False これは除いてください。保存しますかのメッセージが出ます。

この回答への補足

何度も有難うございます。

組み込んでみましたが。。。
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

の一番最初で、「ユーザー定義型は定義されていま
せん」とエラーが出てしまいます。

どうしたら宜しいでしょうか?

補足日時:2005/04/22 18:16
    • good
    • 0

ObjectLibraryが設定されていないと思われます。


メニューのツールのマクロからVisualBasicEditorを開き
ツールの参照設定で
Microsoft Excel *.* ObjectLibrary にチェックを入れて下さい。*.*はお使いのAccessのバージョンに合ったものが表示されているはずなのでそのObjectLibraryにチェックして参照するように設定してからやってみてください。

この回答への補足

有難うございましたm(__)m
無事に成功しました!!

もう一点行いたい事がありまして。。。

セルの自動設定後、ピボットテーブルも作成したいと
考えております。毎月データ件数が一定であれば、EXCELのマクロから引用したいと考えていたのですが、毎月のデータ件数が違う為(月毎に、ピボットテーブル作成の選択範囲が変わります)悩んでおります。

そもそもピボットテーブルは、ACCESSから操作可能なのでしょうか?

お手数ですが、ご教授頂けると幸いです。

補足日時:2005/04/25 09:07
    • good
    • 0

エクスポート処理に下記の必要な部分を追加してみてください。


Excelの\XX.xlsにエクスポートしたデータ巾にセルを合わせます。(\XX.xlsの部分はフルパスで指定してください)

Dim xlApp  As Excel.Application
Dim xlBook  As Excel.Workbook
Dim xlSheet As Excel.Worksheet

エクスポート処理

  Set xlApp = CreateObject("Excel.Application")
  Set xlBook = xlApp.Workbooks.Open("\XX.xls") 
  Set xlSheet = xlBook.Worksheets(1)

  xlApp.Cells.Select         
  xlApp.Cells.EntireColumn.AutoFit
  xlApp.Range("A1").Select
  xlApp.Visible = False

  xlApp.DisplayAlerts = False
  xlApp.Quit

  Set xlSheet = Nothing
  Set xlBook = Nothing
  Set xlApp = Nothing

試してみてください。

この回答への補足

有難うございますm(__)m

実は私、VB超初心者でして。。。

Dim xlApp  As Excel.Application
Dim xlBook  As Excel.Workbook
Dim xlSheet As Excel.Worksheet

の後に

DoCmd.TransferSpreadsheet acExport, 8, "xxx)", "\XXXX.XLS", True, ""

Set xlApp = CreateObject("Excel.Application")
  Set xlBook = xlApp.Workbooks.Open("\XX.xls") 
  Set xlSheet = xlBook.Worksheets(1)

  xlApp.Cells.Select         
  xlApp.Cells.EntireColumn.AutoFit
  xlApp.Range("A1").Select
  xlApp.Visible = False

  xlApp.DisplayAlerts = False
  xlApp.Quit

  Set xlSheet = Nothing
  Set xlBook = Nothing
  Set xlApp = Nothing

で良いのでしょうか?

すみません。素人でm(__)m

補足日時:2005/04/22 16:41
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A