
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessでエクセル出力の保存先指定
その他(データベース)
-
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
Access Excel出力する保存先を指定したいのですが?
その他(データベース)
-
-
4
アクセスでエクセルに出力する際のファイル名を日付に
その他(Microsoft Office)
-
5
教えてください! アクセスの書式設定を保持したまま エクスポートについてですが、 出力ファイル名を
Access(アクセス)
-
6
アクセスクエリ(複数)→マクロ→エクセル出力(ワークシート別)
その他(パソコン・スマホ・電化製品)
-
7
Accessのスプレッドシートエクスポートで、シートが追加されてしまう
Access(アクセス)
-
8
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
9
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
10
【Access】テーブルをエクスポートする際、ファイル名末尾に日付をつけたい!
Windows 10
-
11
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
12
【ACCESS VBA】アクセスからデスクトップ上のエクセルを開く
Access(アクセス)
-
13
Access-VBAでExcelファイルを作成する。
Excel(エクセル)
-
14
AccessからExcelへエクスポートするときにファイル名を指定したい。
Excel(エクセル)
-
15
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
16
アクセスvbaでエクセルブックを保存
その他(Microsoft Office)
-
17
accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー
Access(アクセス)
-
18
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
19
Accessのクエリでデータの入力ができません
Access(アクセス)
-
20
3つの表を1つに縦に連結する
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSエラー「モジュールがあ...
-
●ACCESS→Excelのエクスポート(...
-
【Excel】[Expression.Error] ...
-
SQLPLUSで結果を画面に表示しない
-
selectした結果の余計な余白を...
-
ThunderbirdのメールをCSVでま...
-
社内Excel共有ブックでの保存ト...
-
Becky!で「メールサーバーへの...
-
Batch: フォルダ内の特定のファ...
-
AccessVBA 実行時エラー'2766'...
-
事務の派遣で働いています。多...
-
Accessのmdbを開こうとしたとき...
-
100万行のCSVを10万行ずつのフ...
-
Accessデータベースの最適化をE...
-
ADOを使ったDBアクセス後のメモ...
-
excelを共有ファイルにすると行...
-
特定のエクセルファイルを起動...
-
【CSVファイル】先頭の文字列に...
-
ACCESSのモジュールエラー?
-
オラクル(PL/SQL)のエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
●ACCESS→Excelのエクスポート(...
-
【access】マクロファイルのコ...
-
ACCESSエラー「モジュールがあ...
-
【参照】ボタンでファイルを呼...
-
CSVファイルをエクセルファイル...
-
ACCESSでExcelマクロを起動
-
mdbファイル開けない
-
【Excel】[Expression.Error] ...
-
SQLPLUSで結果を画面に表示しない
-
特定のエクセルファイルを起動...
-
100万行のCSVを10万行ずつのフ...
-
アクセスクエリ(複数)→マクロ...
-
Batch: フォルダ内の特定のファ...
-
共有フォルダに誰が何にアクセ...
-
【CSVファイル】先頭の文字列に...
-
selectした結果の余計な余白を...
-
excelを共有ファイルにすると行...
-
Accessデータベースの最適化をE...
-
Becky!で「メールサーバーへの...
-
ADOを使ったDBアクセス後のメモ...
おすすめ情報