@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

AccessVBAでExcelのシート名を変更したい

1
投稿者投稿内容
やぎ
会議室デビュー日: 2006/05/09
投稿数: 14
投稿日時: 2007-09-21 20:35
お世話になります。

AccessからExcelにデータをインポートし、
その後そのシート名を変更したいのですが、うまく行きません。
そのようなことなことは可能でしょうか?


DoCmd.SetWarnings False
DoCmd.RunSQL strSQL   'このstrSQLでデータを抽出し、"請求データ"テーブルにinsert

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "請求データ", Filepath
' DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet1", Filepath
DoCmd.DeleteObject acTable, "請求データ"
' DoCmd.DeleteObject acTable, "Sheet1"
DoCmd.SetWarnings True

Set objXls = GetObject(Filepath)
objXls.Application.windows(1).Visible = True
objXls.Application.worksheets("請求データ").Range("$1:$1").Delete
' objXls.Application.worksheets("Sheet1").Range("$1:$1").Delete '項目名は不要なので削除
↓↓
以下の2行を実行すると、「オートメーションエラー」が発生していしまいます。
' objXls.Sheets("請求データ").Copy After:=objXls.Sheets("請求データ")
' objXls.Sheets("請求データ").Name = "Sheet1"
  (シート名をインポート元のテーブル名ではなく、"Sheet1"にしたい)
↑↑
objXls.Application.activeworkbook.Save
objXls.Application.Quit
Set objXls = Nothing

幸い(?)インポート元のテーブルはこの処理のためだけに使用しているので
いっそのこと、テーブル名を"Sheet1"にしようか、とも考えたのですが
スマートではないので・・・。

ご協力をお願いします。

開発環境は
Access2003、Win XP PRO です。

1

スキルアップ/キャリアアップ(JOB@IT)