![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ACCESS2000、WindowsXPです。
テーブルをExcelへエクスポートするマクロを作りましが、
下記で苦労しています。
(1)マクロ実行してから「エクスポートしますか?」「OK/キャンセルボタン」ウインドウを出したい。
(2)保存場所を一定の場所に指定したい。
数人で使用する為、該当ACCESSファイルが置いてあるネットワーク上の
フォルダ(\\Central-server\public)に指定してみましたが、ファイルを移動した際等に、
パスが変わってしまうので一定の場所に設定したいです。
→各々のPCの「デスクトップ」or「該当ACCESSといつも同じフォルダ」
今のところ、下記のように設定してます。
【作成したマクロ】
◆アクション1→ワークシート変換
・変換の種類:エクスポート
・ワークシートの種類:Microsoft Excel8-9
・テーブル名:BE
・ファイル名:
="C:\Documents and Settings\User\デスクトップ\BE_" & Format(Now(),"yymmdd_hhnnss") & ".xls"
もしくは、
="\\Central-server\public\BE_" & Format(Now(),"yymmdd_hhnnss") & ".xls"
◆アクション2→メッセージボックス
・「エクスポート完了しました。」→OKしか出ない。
どなたかご教授頂けないでしょうか。
宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
コマンドボタンにのイベントにイベントプロシージャを入れて
VBAを記述するのではだめですか?
YYMMDD00_ファイル名.xls と言うファイル名でデスクトップに
エクスポートします。
同日にエクスポートすれば01 02とカウントアップしていきます。
Private Sub Excel出力_Click()
On Error GoTo Err_Excel出力_Click
Dim newFile As Double 'Excelファイル名YYYYMMDD+連番2桁(数値)
Dim strPath As String '作成するファイル名YYMMDD連番ファイル名(文字列)
Dim srchXls As String '作成するフルパス
newFile = Val(Format(Date, "yyyymmdd") & Format(0, "00")) 'newFileをYYYYMMDD00とする
Do
newFile = newFile + 1 'newFileの00部分に+1
strPath = Mid(newFile, 3, 6) & "_" & Right(newFile, 2) & "_Excelファイル名.xls" 'YYMMDD_00_ファイル名+拡張子
srchXls = CreateObject("WScript.Shell").SpecialFolders("desktop") & "\" & strPath 'デスクトップを取得してフルパスをセット
Loop Until strPath <> Dir(srchXls, vbNormal) 'Dir検索で 指定したファイル名があればループから抜ける
Select Case MsgBox(srchXls & "を作成しますか?", vbOKCancel) 'MsgBoxでファイル作成のOKCancel確認OKの場合ファイル作成
Case vbOK
DoCmd.TransferSpreadsheet acExport, , "エクスポートするクエリ名", srchXls, True 'OKの場合指定したフルパスでエクスポート
MsgBox (srchXls & Chr(13) & Chr(10) & "が作成されました") '完了メッセージ OKしか表示されない
Shell "Excel.exe " & Chr(&H22) & srchXls & Chr(&H22), vbNormalFocus 'Shellで作成したExcelを起動
Case Else
Exit Sub 'Cancelの場合Subプロシージャから抜ける
End Select
Exit_Excel出力_Click:
Exit Sub
Err_Excel出力_Click:
MsgBox Err.Number & Err.Description
Resume Exit_Excel出力_Click
End Sub
この回答への補足
すすすすすみません。
とりあえず自分流に編集してみたんですが、コンパイルエラーです。
ボタンの名前と課題を"Excel出力"にし、クリック時のイベントプロシージャに下記をコピーしました。
1行目が黄色く、End Subが青く反転してます。
添削できますでしょうか。
宜しくお願いいたします。
---
Private Sub Excel出力_Click()
On Error GoTo Err_Excel出力_Click
Dim newFile As Double
Dim strPath As String
Dim srchXls As String
newFile = Val("BE_" & Format(Now(), "yymmdd_hhnnss") & ".xls")
Do
srchXls = CreateObject("WScript.Shell").SpecialFolders("desktop") & "\" & strPath
Select Case MsgBox("ファイルを作成しますか?", vbOKCancel)
Case vbOK
DoCmd.TransferSpreadsheet acExport, , "BE", srchXls, True
MsgBox ("デスクトップにファイルが作成されました")
Case Else
Exit Sub
End Select
Exit_Excel出力_Click:
Exit Sub
Err_Excel出力_Click:
MsgBox Err.Number & Err.Description
Resume Exit_Excel出力_Click
End Sub
度々すみません。
式がやっと読めてきました(汗)
下記で成功しました。
ありがとうございました!!!
---
Private Sub Excel出力_Click()
On Error GoTo Err_Excel出力_Click
Dim newFile As Double
Dim strPath As String
Dim srchXls As String
newFile = Val(Format(Date, "yyyymmdd") & Format(0, "00"))
Do
newFile = newFile + 1
strPath = "BE_" & Mid(newFile, 3, 6) & "_" & Right(newFile, 2) & ".xls"
srchXls = CreateObject("WScript.Shell").SpecialFolders("desktop") & "\" & strPath
Loop Until strPath <> Dir(srchXls, vbNormal)
Select Case MsgBox(srchXls & "を作成しますか?", vbOKCancel)
Case vbOK
DoCmd.TransferSpreadsheet acExport, , "BE", srchXls, True
MsgBox (srchXls & Chr(13) & Chr(10) & "を作成しました。")
Case Else
Exit Sub
End Select
Exit_Excel出力_Click:
Exit Sub
Err_Excel出力_Click:
MsgBox Err.Number & Err.Description
Resume Exit_Excel出力_Click
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- Access(アクセス) Access2016のExcelインポートの機能のことで教えてください 1 2022/09/11 14:58
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Accessでエクセル出力の保存先指定
その他(データベース)
-
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
Access Excel出力する保存先を指定したいのですが?
その他(データベース)
-
-
4
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
5
アクセスでエクセルに出力する際のファイル名を日付に
その他(Microsoft Office)
-
6
Accessのスプレッドシートエクスポートで、シートが追加されてしまう
Access(アクセス)
-
7
AccessからExcelへエクスポートするときにファイル名を指定したい。
Excel(エクセル)
-
8
アクセスクエリ(複数)→マクロ→エクセル出力(ワークシート別)
その他(パソコン・スマホ・電化製品)
-
9
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
10
教えてください! アクセスの書式設定を保持したまま エクスポートについてですが、 出力ファイル名を
Access(アクセス)
-
11
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
12
【ACCESS VBA】アクセスからデスクトップ上のエクセルを開く
Access(アクセス)
-
13
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
14
OR関数
その他(Microsoft Office)
-
15
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
16
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
17
access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい
Access(アクセス)
-
18
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
19
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
-
20
エクセルの指定したシートにエクスポート
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
実行時エラー3131 FROM 句の構...
-
accessクエリで直前の水曜日〜...
-
【至急・画像あり】建物or住所...
-
Accessのテキストボックスの入...
-
access2021 強制終了してしまう
-
ms access 2013で、チェックボ...
-
Accessのクエリの結果を、既存...
-
Access VBA [リモートサーバー...
-
Accessのデータ型の日付/時刻型...
-
Microsoft365にAccessってあり...
-
DoCmd.SearchForRecord が動か...
-
access レポート 請求書について
-
アクセスのレコードをフォーム...
-
Access runtimeでのオプション...
-
Accessが強制終了する理由はな...
-
ACCESSのレポートにフォームの...
-
access2021 更新前に処理をしたい
-
access2021 VBA メソッドまたは...
-
【世界はデータで出来ている】...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSエラー「モジュールがあ...
-
●ACCESS→Excelのエクスポート(...
-
【access】マクロファイルのコ...
-
mdbファイル開けない
-
ACCESSでExcelマクロを起動
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
SQLPLUSで結果を画面に表示しない
-
特定のエクセルファイルを起動...
-
VBAでCSVファイルが使用中かど...
-
ACCESS で 項目名を出力せずに...
-
【CSVファイル】先頭の文字列に...
-
Batch: フォルダ内の特定のファ...
-
#1062 - '0' は索引 'PRIMARY' ...
-
selectした結果の余計な余白を...
-
「○○○.ldb」のAccess レコード ...
-
(Excelマクロ)datファイルをエ...
-
AccessからExcelのファイルを起...
-
100万行のCSVを10万行ずつのフ...
-
月が変わったら自動でシートが...
おすすめ情報