我有很多存取文件,其中包含使用 VBA 定義的程式碼隱藏事件過程。我想在這段程式碼中搜尋大量字串。
我可以透過在 Microsoft Visual Basic for Applications 中選擇 Access Class 對象,右鍵單擊並選擇“匯出檔案...”然後運行來完成此操作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();
}
}
}