特定のルートパスから開始してフォルダー構造を通過するアプリケーションを構築するプロセスを開始しており、検出されたすべてのAccess 1997 .mdbファイル新しいAccess 2007/2010 .accdb形式に変換します。しかし、私は実際のファイル変換を行うときにいくつかの問題に遭遇しています。プログラムでAccess 1997 .mdbをAccess 2007に変換する方法.accdb
私はMicrosoftのAccess Interop API(https://msdn.microsoft.com/en-us/library/office/ff193465.aspx)を使用して変換を処理しているため、これはVBScriptで記述する必要があります。スクリプトは以下の通りです:実行すると
Dim app
Set app = CreateObject("Access.Application")
app.ConvertAccessProject "C:\Users\[User]\Access Conversion Utility\sample.mdb", "C:\Users\[User]\Access Conversion Utility\converted.accdb", acFileFormatAccess12
、私はエラーを取得する「プロジェクトが、この形式に変換することができないプロジェクトが唯一のAccess 2000以降の形式に変換することができます。」それでも、この同じエラーメッセージは、 'acFileFormatAccess97'または 'acFileFormatAccess2000'のように、ファイルパラメータの列挙型の値に関係なく表示されます。誰もがこのエラーの詳細を知っていて、可能な解決策は何か?私は、問題の一部であると考えて、2番目のパラメータの拡張を変更しようとしましたが、これはエラーメッセージに変更を加えませんでした。
私が使用しているサンプルファイルは、Accessで開くことができます。それは失敗した変換そのものです。
誰もがプログラム的に変換を行うためのより良いアイデアやアプローチを持っているなら、私はそれを聞いて欲しいですが、これが私が見つけた唯一のものです。計画は、C#で書かれたGUIアプリケーションからこのスクリプトを実行することですが、コマンドラインからもアプリケーションを実行できるようにします。
ありがとうございます。このコードが実行されると、Accessのインスタンスと保存プロンプトが表示されます。これが起こらないようにする方法はありますか? – user1684458
Nevermindでは、最初に2002形式に変換してから、再び2007形式に変換することで、実際のアプリケーションをバイパスすることができました。ご協力ありがとうございました。 – user1684458