私はACCDEファイルにコンパイルし、MS AccessプロジェクトでVBAコードを記述することが可能であることを確認しました。したがって、OPに問題があった後で、この投稿を編集してより明示的にステップを進めてください。
Excelセッションと対話できることを証明したいので、ここで取り上げるExcelワークブックファイルを作成してください。私は私のワークブックN:\WorkbookControlledByAccess.xlsm
と呼ばれるモジュールで、私はこのコードをApplication.Run使用に呼び出すことができますいくつかのコードを書いている些細な例示的な実施
Option Explicit
Public Function SomeExportedFunction() As String
SomeExportedFunction = "Hello 47"
End Function
は、それから私は、MSのアクセスを開いて、ファイル - >新規作成 - >空白のデスクトップを行ってきました指定されたデフォルトのデータベースファイル名を受け入れたCreateを押すと、私は 'Database5'でDatabase5.accdbを作成します。そして、デフォルトのウィンドウは、新しいTable、Table1です。リボンで、[作成] - > [ブランクフォーム]を選択します。
フォームでコマンドボタンを作成すると、迷惑なウィザードがスローされ、ウィザードがキャンセルされます。新しく作成されたボタンを右クリックしてコンテキストメニューを表示し、[ビルドの選択]ダイアログボックスの[ビルダーの選択]ダイアログボックスで[コードビルダ]を選択すると、エラーが発生します。フォームまたはレポートのHasNModuleプロパティをYesにします。そのエラーに対して[OK]をクリックし、デザインリボンの[表示]ボタンを使用してデザインビューに切り替えます。デザインビューに入ったら、コンテキストメニューのステップをもう一度試してください。あなたは私たちが
Option Compare Database
Option Explicit
Private Sub Command0_Click()
MsgBox "Just access at the moment"
End Sub
一つにこれを変更することで、ボタンをテストします
Option Compare Database
Option Explicit
Private Sub Command0_Click()
End Sub
次のコードを持ってF5キーを押して、フォームを実行する今VBA IDEのウィンドウを取得する必要があり、フォームを実行すると、クリックしてくださいボタンと新しいメッセージボックスが表示されます。 [OK]を今、いくつかのExcelのアクセスinteropを行う。 [ツール] - > [参照の追加やMicrosoft Excel 15.0を追加し、フォームを実行し、メッセージは、我々は以前に作成したExcelブックから取得されたボタンをクリックすると、今
Option Compare Database
Option Explicit
Public Sub Command0_Click()
'* Use GetObject to verify the workbook is loaded and accessible via
'* RunningObjectTable
Dim wb As Excel.Workbook
Set wb = GetObject("n:\WorkbookControlledByAccess.xlsm")
'* If we got here without error then we should be able to call back into Excel session.
MsgBox wb.Parent.Run("WorkbookControlledByAccess.xlsm!SomeExportedFunction")
'MsgBox SomeExportedFunction
End Sub
ようにコードを変更します。これにより、AccessがExcelに到達できることが証明されます。
これは通常のaccdbファイルであり、コードをパスワードで保護する必要があります。
accdeファイルを作成する場合は、「ファイル」 - >「名前を付けて保存」 - >「ACCDEを作成」に進み、ファイルダイアログに従います。その後、accdeファイルを開くとコードがロックされます。
私はまだaccdeファイルへのハックを網羅的に検索していませんが、標準のExcel VBAは安全ではないことがわかります。
[私のExcel-VBAプロジェクトのパスワードに簡単にクラックされる可能性があります...他のオプションは何ですか?](http://stackoverflow.com/questions/1063155/so-my-excel-vba-project-パスワード紛失の可能性がある他のオプション)、その他数多くのものがあります。 – Comintern
別の投稿に記載されているVB6は古くなっているようで、どこからダウンロードすればいいのかわかりません。 – Coldcode
[これらの他の人](http://stackoverflow.com/search?q=%5Bexcel-vba%5D+project+password)のいくつかを確認してください。これらは、割れと割れ防止の間で約50-50回転します。そこに何も見つからない場合は、[次の結果を確認してください](https://www.google.com/?gws_rd=ssl#q=excel+vba+project+prevent+password+cracking)。 – Comintern