여러 액세스 클래스 개체를 Microsoft Visual Basic for Application에서 한 번에 텍스트로 내보내는 방법

여러 액세스 클래스 개체를 Microsoft Visual Basic for Application에서 한 번에 텍스트로 내보내는 방법

VBA를 사용하여 정의된 Code Behind 이벤트 프로시저가 있는 액세스 파일이 많이 있습니다. 이 코드에서 많은 수의 문자열을 검색하고 싶습니다.

Microsoft Visual Basic for Application에서 Access Class 개체를 선택하고 마우스 오른쪽 버튼을 클릭한 후 "Export File..."을 선택한 다음 실행하면 이 작업을 수행할 수 있지만 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();
        }
    }
}

관련 정보