初心者です教えてください
accessのAテーブルを任意のフォルダにエクセルで出力したいのですが
外部データのエクセル出力ですると 外部フォーマットが違うとでてしまいます
データが65000行以上あるので VBAでやるしかないのですが どうしたらいいか
わかりません
よろしくお願いします
通報 ...
初心者です教えてください
accessのAテーブルを任意のフォルダにエクセルで出力したいのですが
外部データのエクセル出力ですると 外部フォーマットが違うとでてしまいます
データが65000行以上あるので VBAでやるしかないのですが どうしたらいいか
わかりません
よろしくお願いします
設定ダイアログで、ファイル形式で、拡張子が .xls のものを選択してませんか。
Excel Workbook(.xlsx) に変更して試してみてください。
Excel出力のVBAを以下のように書きました
Private Sub Excel出力_Click()
'変数宣言
Dim strPath As String
'Excelエクスポート先のファイルパス
strPath = "C:\Users\" & UserName & "○○○リスト" & Format(Now(), "yyyymmdd")
'Excelファイルの出力
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "○○○リスト出力", strPath, False
'Excelファイルをエクスポートした旨を通知する。
MsgBox "○○○リストを出力しました。" & vbCrLf & "C:\Users\" & UserName & "\OUT\", vbInformation
End Sub
を実行すると
実行時エラー’3051’
ファイル’C¥Users¥○○○リスト2022****’を開くか、書き込むことができませんでした。ほかのユーザーが排他的に開いているか、データーの表示と書き込みを行う権限がありません。
とメッセージがでてしまいます
どうしtら解消できるでしょうか
よろしくお願いします
の部分ですが、ファイルパスに拡張子をつけてみてください。
上記でダメなら下記も試してみてください。
strPath = "C:\Users\" & UserName & "○○○リスト" & Format(Now(), "yyyymmdd") & ".xlsx"
としましたが
今度は実行時エラー’2220’
ファイルC:\Users\" & UserName & "○○○リスト2022****.xlsx"を開くことができませんと表示されます
横からすみません。>> 4の "\○○○リスト"でも駄目でしたか?
しっかり把握していませんが、取り敢えず、下記をやっておくと解決に近づくかもしれません。
①変数UserNameとFormat関数の部分を手打ちに置き換える。結果、問題なく開ける?
②変更UserNameとFormat関数の中身をMsgboxやDebug.Printで表示。結果、①の手打ちと同じ?
①と②を試したところUserNameが取得できていませんでした
表示させるとC:\Users\○○○リスト2022****.xlsx となってしまいます
どうすれば UserNameをうまく取得できるのでしょうか
質問では「任意のフォルダにエクセルで出力したい」とのことですが、この「任意のフォルダー」とは何でしょうか。
具体的に説明してください。
ログインユーザー名は
Environ("USERNAME")
で取得できますが、それは任意のフォルダーとは言わないと思います。
Dim WshObj As Object
Dim UN As String
Set WshObj = CreateObject("WScript.Network")
UN = WshObj.UserName
をいれて UsernameをUNにしたら できました
回答をしてくれた方ありがとうございました