加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用C#/ VBScript获取mdb文件(msaccess)中的所有源代码

发布时间:2020-12-16 00:12:07 所属栏目:百科 来源:网络整理
导读:我想从 Access数据库(表单,模块)获取所有源代码,而不使用Office interops. 我喜欢AllCodeToDesktop()函数found here.但是它从mdb文件中运行. 什么是VBScript文件加载mdb文件并在其上运行该函数? 解决方法 为了节省大量时间,您有没有理由不使用内置的文档?
我想从 Access数据库(表单,模块)获取所有源代码,而不使用Office interops.

我喜欢AllCodeToDesktop()函数found here.但是它从mdb文件中运行.

什么是VBScript文件加载mdb文件并在其上运行该函数?

解决方法

为了节省大量时间,您有没有理由不使用内置的文档?

工具 – > analyze->文档管理器

以上内容能够生成包含表单,报表,模块和类模块中所有代码的报表.此报告可以发送到word或甚至保存为文本文件.

我只提到这个以节省你的时间和精力.这里不需要编写任何代码.

更多说明:
我不认为你能做到这一点.您可以将ms-access用作com对象,并使用代码将代码作为文本提取出来,但您需要在该计算机上安装访问权限.

有两种方法,一种是使用saveastext命令.这会将任何表单,代码等导出为文本文件(这是源代码加载项全部使用的).

第二种方法是编写自动化代码.这是本机访问(VBA)中的代码,但您也可以使用支持com对象的任何语言编写此代码.代码如下所示:

Dim db               As Database
  Dim Doc              As Document
  Dim mdl              As Module
  Dim lngCount         As Long
  Dim strForm          As String
  Dim strOneLine       As String
  Dim sPtr             As Integer

  Set db = CurrentDb()
  ' count module LOC

  For Each Doc In db.Containers("Modules").Documents
      DoCmd.OpenModule Doc.Name

      Set mdl = Modules(Doc.Name)

      lngCount = lngCount + mdl.CountOfLines
      For i = 1 To lngCount
         strOneLine = mdl.Lines(i,1)
         Debug.Print strOneLine
      Next i

      Set mdl = Nothing
      DoCmd.Close acModule,Doc.Name

  Next Doc

上面的代码可以很容易修改为seach或导出文本.我认为使用saveastext然后代码较少,但是你得到了表单定义等,这可能不是你想要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读