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

0

Eu tenho muitos arquivos de acesso que possuem procedimentos de evento Code Behind definidos usando o VBA. Eu quero pesquisar este código para um grande número de seqüências de caracteres.

Posso fazer isso selecionando o objeto Classe de Acesso no Microsoft Visual Basic para Aplicativos, clicando com o botão direito e selecionando "Exportar Arquivo ..." e executando findstr , mas só posso exportar um objeto de classe de cada vez leva muito tempo).

Existe uma maneira de exportar vários Objetos de Classe do Access de uma só vez, ou script?

    
por user467384 08.06.2013 / 01:33

1 resposta

0

Então, eu fiz um aplicativo 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();
        }
    }
}
    
por 11.06.2013 / 22:23