2017-07-07 7 views
0

Accessに複数のテーブルを持つデータベースがあります。私の最終的な目標は、ボタンを押すと、マクロを実行するボタンでフォームを作成することです。このマクロはカスタムVBAコードを実行します。Access 2016 VBAコードをExcelにエクスポートするには、「インストール可能なISAMが見つかりませんでした」

実行時に、マクロをにすると、1つのワークシートで新しいExcelブックを作成し、そのワークシートに1つの特定のテーブルをインポートします。

現在のところ、これは私のVBAコードです。私は文字通りVBAの経験が0なので、このコードがうまくいくかどうかは分かりません。私は、同様の目標についての質問への答えとして、オンラインでこのコードを発見し、鉱山(Export MS Access tables through VBA to an excel spreadsheet in same directory)ではありません

Option Compare Database 

Public Function exportToExcel() 

Dim outputFileName As String 
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xlsx" 

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel2Xml, "all_data", outputFileName, True 

End Function 

私はVBAエディタを開いて、中のモジュールフォルダにあるexport moduleと呼ばれる新しいモジュールを作成しましたVBAエディタウィンドウの右側にあるナビゲータペインをクリックします。 Option Compare Databaseビットはすでにありました。この新しいモジュールに残りの部分をタイプしました。

モジュールを保存した後、私はRunCodeコマンドを持つ新しいマクロを作成し、機能フィールドは=exportToExcel()です。マクロを実行すると、エラーが表示されます。

このエラーの原因と解決方法は誰にも分かりますか?また、私のVBAコードにコメントして、何かが間違っていて、私が何を変えなければならないのか、Excelへの輸出を正しい方法で自動化しようとしているのか教えてください。

ありがとうございました。

答えて

0

今後誰かがこの質問を見つけた場合、より多くの掘り起こしが解決策を見つけることができましたか?

私はISAMの問題全体が何であるか分かりませんが、this tutorialは私の希望するタスクを完了するために重要でした。私はVBAエディタで新しいモジュールを作成し、このコードを内部に書きました。

Sub exportToXL() 

On Error GoTo ErrorHandler 

Dim dbTable As String 
Dim xlWorksheetPath As String 

'<PATH> is the location you want the Excel file saved to, C:\ etc... 
xlWorksheetPath = "<PATH>" 

xlWorksheetPath = xlWorksheetPath & "xlExportAccessToExcel.xls" 

'table1 is generic table name, this is the name of the table you want to export 
dbTable = "table1" 

DoCmd.TransferSpreadsheet transfertype:=acExport, spreadsheettype:=acSpreadsheetTypeExcel9, tablename:=dbTable, FileName:=xlWorksheetPath, hasfieldnames:=True 

ErrorHandlerExit: 

    Exit Sub 

ErrorHandler: 

    MsgBox "Error No: " & Err.Number & ";Description: " & Err.Description 

    Resume ErrorHandlerExit 


End Sub 

私は、ストレートVBAエディタ内からこのモジュールを実行した私は、指定したファイルの場所にナビゲートし、内部に必要なデータを新しいExcelワークブックを発見!

これは将来的に誰かに役立つことを願っています。

0

私は、これは間違っているExcelのライブラリへの参照だったと

acSpreadsheetTypeExcel9

にacSpreadsheetTypeExcel2Xml

を使用してからコードを変更することがある可能性がありますアクチュアいずれのバージョンのExcelがホストマシンにインストールされているかに基づいて、差をつけました。

+1

Excel 2016がインストールされていますが、上記の新しいコードは、上記の両方で機能しています... Excel12Xml –

関連する問題