Как экспортировать несколько объектов Access Class в текст из Microsoft Visual Basic for Applications одновременно

Как экспортировать несколько объектов Access Class в текст из Microsoft Visual Basic for Applications одновременно

У меня есть много файлов доступа, в которых есть процедуры событий Code Behind, определенные с помощью VBA. Я хочу выполнить поиск в этом коде большого количества строк.

Это можно сделать, выбрав объект класса Access в Microsoft Visual Basic для приложений, щелкнув правой кнопкой мыши и выбрав «Экспорт файла...», а затем запустив findstr, но я могу экспортировать только один объект класса за раз (это занимает очень много времени).

Есть ли способ экспортировать несколько объектов класса доступа одновременно или написать для этого скрипт?

решение1

Итак, я создал приложение, которое экспортирует все определения форм для файла доступа. Это включает в себя код позади, поэтому с помощью следующего кода и скрипта для извлечения только раздела 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();
        }
    }
}

Связанный контент