こんにちわお世話になります。
「Excelにエクスポート」ボタンをクリックすると、Inputboxか何かが表示されて、Pathやファイル名やシート名を入力し、「実行」ボタンを押すと、新規にExcelのBookを、そのPath、ファイル名、シート名で作成する。その後、そのシートにデータを書き込むという作業をしたいのです。
AccessのデータをExcelの任意のシートを開いて書き込むという部分のVBAコードはわかりますので、新規Book作成部分のコードがわかるかたお願いします。
Office97を使用しています。
No.3ベストアンサー
- 回答日時:
プロジェクト→参照設定でMicrosoft Excel *.* ObjectLibraryにチェックを入
れて下さい。
オブジェクトへの参照を格納する変数を事前バインディング。
変数にオブジェクトの参照を代入します。Addメソッドを使って新規workbookと
worksheet オブジェクトを作成します。
値を代入し名前を付けて保存してオブジェクトを開放する。という流れで良いと
思います。
Private Sub Command1_Click()
On Error Resume Next
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
' Excel のセルに値を代入します。
xlSheet.Cells(1, 1).Value = " "
' Worksheet を名前をつけて保存します。ダイアグボックス等を使用して
パスやBook名など入力できるようにしてもOKです。
xlSheet.SaveAs "c:\Temp.xls"
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
こんな感じでしょうか。
No.2
- 回答日時:
エクセルのツール-マクロ-マクロの記録で
エクセルのファイル-新規作成の操作をすれば、
Workbooks.Add
ActiveCell.FormulaR1C1 = "aaa"
Range("A2").Select
ActiveWorkbook.SaveAs Filename:="C:\My Documents\ccc3.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
となります。
これをそっくりxlapp=CreateObject"Excel.Application")
の後にいれれば良いです。
ActiveCell.FormulaR1C1 = "aaa"は例でいれただけで、
実質シート内容を作成は
ActiveWorkbooks.Worksheets("Sheet1").Range("a1")=
とかで行う。
最初これを読んだとき良くわからなかったのですが、後のO_cyanさんの回答と見比べてやっと意味がわかりました。ありがとうございます。
No.1
- 回答日時:
Workbooks.Add で新規に Book を作成します。
シート名については、新規に作成された Workbook は、所定の数のシートを持って作成されるので、
シート数がひとつになるまで ActiveSheet.Delete を繰り返し、ひとつになったら
シート名をお好みのに変える、という感じでしょうか。
SaveAs で保存すれば、パスとファイル名は指定できますね。
Dim excel As Object
excel = CreateObject("Excel.Application")
Workbooks.Add
Do While Sheets.Count <> 1
ActiveSheet.Delete
Loop
ActiveSheet.Name = "sheet name"
' ここで、シートに対して処理を ごにょごにょ
excel.SaveAs "d:\test.xls"
excel.Application.Quit
excel = Nothing
# 全然、試してません
試してみました。いっぱいコレクションが無いとか変数が定義されていません。みたいなエラーが出まして、改めてdimで宣言したりしたんですが、結局うまくいきませんでした。もう少し自分にテクニックがあれば何とかできそうなもんなんですが・・・
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
アクセスvbaでエクセルブックを保存
その他(Microsoft Office)
-
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
ACCESSVBA からExcelの他ブックへコピーの方法
Visual Basic(VBA)
-
6
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
7
ACCESSで名前を付けて保存は・・
その他(データベース)
-
8
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
9
ACCESSのVBAにてExcelのシートをコピーしたい
その他(データベース)
-
10
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
11
Access エクセルシート名変更
その他(プログラミング・Web制作)
-
12
ACCESSからexcelブックを開いて保存したい
Excel(エクセル)
-
13
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
14
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
15
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
16
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
17
Access VBAからExcelシートの削除
Excel(エクセル)
-
18
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
19
accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー
Access(アクセス)
-
20
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでオブジェクトが必...
-
Excell VBA にて配列に定数を代...
-
マクロのコマンドボタン《Activ...
-
エクセルで品番を入れると、そ...
-
コンボボックスへ降順に表示す...
-
B列の最終行までA列をオート...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルVBAが途中で止まります
-
マクロ 最終列をコピーして最終...
-
vba 2つの条件が一致したら...
-
VBA シートをコピーする際に Co...
-
EXCELのSheet番号って変更でき...
-
VBAでの SendKeysの変数指定方法
-
Worksheets メソッドは失敗しま...
-
vbaで指定したセルより下の行を...
-
VBAを使って検索したセルをコピ...
-
マクロの「SaveAs」でエラーが...
-
VLOOKUPの列番号の最大は?
-
ワイルドカード「*」を使うとう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access-VBAでExcelファイ...
-
コンボボックスへ降順に表示す...
-
エクセルVBAでオブジェクトが必...
-
複数シートを一括で保護を掛け...
-
Excell VBA にて配列に定数を代...
-
エクセルのVBAについて教えてく...
-
マクロ実行後、画面がちかちか...
-
マクロのコマンドボタン《Activ...
-
Auto_Openマクロ
-
エクセルVBA 別シートの最終セ...
-
vbaアニメーションについて
-
Excelに関数使用を調べる方法
-
エクセルのVBAの関数について
-
エクセルマクロ 変数をワーク...
-
オフィス2003VBAのスプレッドシ...
-
エクセルの全てのシート名を一...
-
エクセルを共有にすると、シー...
-
エクセルの図形(線)の情報
-
EXCELに関する質問
-
エクセル マクロについて、 Inp...
おすすめ情報