Como exportar vários objetos de classe de acesso para texto do Microsoft Visual Basic for Applications por vez

Como exportar vários objetos de classe de acesso para texto do Microsoft Visual Basic for Applications por vez

Eu tenho muitos arquivos de acesso que possuem procedimentos de evento Code Behind definidos usando VBA. Quero pesquisar neste código um grande número de strings.

Posso fazer isso selecionando o objeto Access Class no Microsoft Visual Basic for Applications, clicando com o botão direito e selecionando "Exportar arquivo..." e executando findstr, mas só posso exportar um objeto de classe por vez (leva muito tempo) .

Existe uma maneira de exportar vários objetos de classe de acesso de uma só vez ou criar um script?

Responder1

Então, fiz uma aplicação que exporta todas as definições de formulário para um arquivo de acesso. Isso inclui o código por trás, portanto, com o código a seguir e um script para extrair apenas a seção CodeBehind, você pode obter uma solução viável.

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();
        }
    }
}

informação relacionada