複数のAccess Classオブジェクトを一度にMicrosoft Visual Basic for Applicationsからテキストにエクスポートする方法


0

VBAを使用して定義されたコードビハインドイベントプロシージャを持つ多くのアクセスファイルがあります。このコードを検索して、多数の文字列を探します。

これを実現するには、Microsoft Visual Basic for ApplicationsでAccess Classオブジェクトを選択し、右クリックして[ファイルのエクスポート...]を選択し、実行しfindstrますが、一度に1つのクラスオブジェクトしかエクスポートできません(非常に時間がかかります) 。

複数のアクセスクラスオブジェクトを一度にエクスポートする方法、またはスクリプトを作成する方法はありますか?

回答:


0

そこで、アクセスファイルのすべてのフォーム定義をエクスポートするアプリケーションを作成しました。これにはコードビハインドが含まれるため、次のコードとCodeBehindセクションのみをプルするスクリプトを使用すると、実行可能なソリューションを取得できます。

using Microsoft.Office.Interop.Access;
using System;

namespace AccessExporter
{
    class Program
    {
        static void Main(string[] args)
        {
            ApplicationClass app = new ApplicationClass();

            String fileName = @"C:\AccessFile.accdb";
            app.Visible = false;
            app.OpenCurrentDatabase(fileName);

            foreach (AccessObject obj in app.CurrentProject.AllForms)
            {
                Console.WriteLine(obj.Name);
                app.SaveAsText(AcObjectType.acForm, obj.Name, String.Format(@"C:\{0}.txt", obj.Name));
            }

            app.CloseCurrentDatabase();
        }
    }
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.