我有很多使用 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();
}
}
}