
アクセス初心者です。よろしくお願いします。
アクセスのフォームに表示したデータをエクセルのシートにコピーして名前を付けて保存させたいです。
テーブル等のエクスポートではありませんのでDoCmdでの保存ではなくSaveAsで保存したいです。
いろいろなサイトを見て新規ブックを開いて保存することはできましたが、既存ブックを開いて別名で保存しようとするとオブジェクト云々、オートメーション云々のエラーになります。
検索したサイトからの引用ですが、
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
xlSheet.SaveAs "c:\Temp.xls"
はできるのですが、
Set xlBook = xlApp.Workbooks.Open("C:\temp\原紙.xls")
Set xlSheet = xlBook.WorkSheets(1)
fname = "C:\temp\" & Format(Date, "yyyymmdd") & "売上一覧.xls"
xlBook.SaveAs Filename:=fname
だとエラーになります。
既に書式等を設定したブックを使いたいので後者のように既存のブックを使いたいのですが、どうしたらよろしいでしょうか。
職場に端末を持ち込めないため対応が遅くなりますがよろしくお願いします。
No.1ベストアンサー
- 回答日時:
昔の記憶を頼りに・・・。
1:新規ブックを開く。
2:ワークシートを全て削除
3:既存のブックを開く。
4:既存のブックのシートを新規ブックにコピー
5:新規ブックを保存
※その他の処理は省略。
おおざっぱですが、こんな感じで出来たように記憶しています。
参考までに・・・。
' 新規Sheetを開き、ワークシートを空にする。
Set nlBook = nlApp.Workbooks.Add
Dim i As Integer
For i = nlBook.Worksheets.Count To 1 Step -1
nlBook.Worksheets(i).Delete
Next i
' 元になるSheetを開く
Set olBook = olApp.Workbooks.Open("C:\temp\原紙.xls")
Set olSheet = olBook.WorkSheets(1)
' 元になるシートを新規にコピーする
olSheet.Copy After:=nlBook.Worksheets("Sheet1")
' 新規Sheetを保存する
fname = "C:\temp\" & Format(Date, "yyyymmdd") & "売上一覧.xls"
nlBook.SaveAs Filename:=fname
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 10:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
-
4
Access-VBAでExcelファイルを作成する。
Excel(エクセル)
-
5
ACCESSのVBAにてExcelのシートをコピーしたい
その他(データベース)
-
6
ACCESSからexcelブックを開いて保存したい
Excel(エクセル)
-
7
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
8
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
9
Access VBAからExcelシートの削除
Excel(エクセル)
-
10
ACCESSのVBで、エクセルファイルの最終行を取得
Excel(エクセル)
-
11
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
12
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
13
アクセスクエリ(複数)→マクロ→エクセル出力(ワークシート別)
その他(パソコン・スマホ・電化製品)
-
14
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
15
ACCESSVBA からExcelの他ブックへコピーの方法
Visual Basic(VBA)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
Access サブフォームでの選択行の取得
その他(データベース)
-
18
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
19
Accessのスプレッドシートエクスポートで、シートが追加されてしまう
Access(アクセス)
-
20
【Access】テーブルをエクスポートする際、ファイル名末尾に日付をつけたい!
Windows 10
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】アクティブセルの時...
-
VBAでブックを非表示で開いて処...
-
エクセルの関数 ENTERを押...
-
エクセルを共有するとPCによっ...
-
Excelの新しい空白のブックを開...
-
Excelで複数ブックの同一セルに...
-
フォルダ内の複数ファイルから...
-
Excel(2010)のフィルターが保...
-
Excelでブックの共有を掛けると...
-
エクセルを開くと最大化などの...
-
別ブックから入力規則でリスト...
-
Excelファイルをダブルクリック...
-
WorkBooksをオープンさせずにシ...
-
参照したいブックのパス名に"["
-
エクセルでウィンドウの枠固定...
-
エクセルで別ブックをバックグ...
-
Excel起動時に特定のワークシー...
-
エクセル2016です。「ブッ...
-
フォルダ内の複数ファイルから...
-
エクセルファイルをオープンし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
Excelの警告について
-
Excelファイルをダブルクリック...
-
エクセルで参照しているデータ...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
Excel(2010)のフィルターが保...
-
Excelで複数ブックの同一セルに...
-
エクセルファイルを開かずにpdf...
-
エクセルにおける,「ブック」...
-
同じフォルダへのハイパーリン...
-
エクセルで別ブックをバックグ...
-
フォルダ内の複数ファイルから...
-
VBA バックグラウンドで別ブッ...
-
エクセルでウィンドウの枠固定...
-
ブックのピボットを別ブックに...
-
フォルダ内の複数ファイルから...
-
エクセルで50行ごとに区切った...
おすすめ情報