我想将所有查询(带有查询代码的名称)导出到记事本/ word文档。我不擅长VBA代码,但我从网站的某个网站找到了这个代码,它将所有带查询代码的查询导出到记事本中。代码:
Sub ExportQueries()
Dim db As Object
Dim qdf As Object
Dim ff As Long
Set db = CurrentDb
ff = FreeFile()
Open "C:\Queries.txt" For Output As #ff
For Each qdf In db.QueryDefs
Print #ff, "Query: " & qdf.Name & vbCrLf
Print #ff, "SQL:" & vbCrLf
Print #ff, qdf.SQL & vbCrLf
Next qdf
Close #ff
End Sub
但我想只导出我正在使用的宏中的那些查询。 如何提取特定宏中使用的查询?有人能给我代码PLZ吗?
My Macros - Alerts_MCR
EBAC_MCR
我正在使用的还有更多的宏。
答案 0 :(得分:0)
以编程方式执行您以健壮的方式描述的内容绝对是一项非常重要的练习。生成的VBA代码必须:
获取您的宏列表,
检查每个宏的每个动作以查看它是否直接(例如,通过OpenQuery
)或间接(例如,通过执行调用VBA函数的RunCode
来调用查询它本身调用一个查询),
解析所有被调用的查询,以查看他们是否再次调用任何其他查询,或者直接(通过FROM
子句)或间接(例如,通过VBA函数) ),并以递归方式执行,
还检查宏是否调用任何其他宏,如果是,则对它们执行相同的操作。
所有这些都是一个非常有趣的开发项目,但是(IMO)远远超出了Stack Overflow Q + A格式的范围。