• 如何用vba将vba工程中的所有模块导出?

    要用vba将vba工程中的所有模块导出,需要用到CodeModule对象的Export方法,代码如下:

     

  • 如何用vba删除所有vba工程中的vba代码?

    如下图所示:

    vba工程中有许多组件,每个组件中都可能有vba代码,如果要把所有vba代码都删除,需要访问组件的CodeModule对象。

    具体步骤如下:

    1. 先遍历所有VBComponent对象
    2. 获取所有VBComponent对象的CodeModule对象的Coun[……]

    阅读全文

  • 如何用vba将某个模块的所有vba代码添加插入到当前模块中?

    要用vba将某个模块的所有vba代码添加插入到当前模块中,需要按照以下步骤:

    1. 获取要被复制代码的模块;
    2. Lines属性获取该模块的所有代码;
    3. 获取要插入代码的模块对象;
    4. AddFromString方法添加步骤2中获取的代码。

    以下示例代码可以将所有组件中的代码添[……]

    阅读全文

  • 如何用vba遍历所有的工程组件VBComponent?

    如下图所示:

    在vba工程中有窗体(UserForm1)、类模块(类1)、标准模块(模块1、模块2),文档模块(Sheet1、ThisWorkbook)等组件。

    以下示例代码可以遍历所有组件,并输出所有组件的名称、类型以及声明代码的总行数和代码的总行数:
    [crayon-5bc[……]

    阅读全文

  • 如何用vba返回工程资源管理器中当前选中的VBComponent的信息?

    如下图所示:

    在vbe中当前选中的是标准模块中的“模块1”,在vba中可以使用VBE对象的SelectedVBComponent属性返回当前选中的vba工程中的组件。

    以下示例代码将返回当前选中的标准模块“模块1”中的代码总行数和声明部分的代码总行数:
    [crayon-5bc9[……]

    阅读全文

  • 如何用vba自动添加前期引用?

    在编写vba代码时,遇到需要使用的对象,有两种引用方式,一种是前期引用,也就是先在“工具”菜单下的“引用”命令中添加需要引用的库,如下图所示。

    另一种是直接用 CreateObject(“Scripting.Dictionary”)语句添加的后期引用。

    这两种的区别就是,前期引用[……]

    阅读全文

  • 如何用vba访问操作vba工程对象VBProject?

    vba除了可以访问excel中的内置对象,还可以访问vbe对象。

    vbe对象是vba中所有对象的根对象,通过vbe对象可以访问vba工程对象VBProject

    如果要顺利的访问vba工程对象需要进行如下的设置

    开启“信任对VBA工程对象模型的访问”,如下图所示:

    1

    经[……]

    阅读全文

  • 如何用vba给vbe内置菜单命令栏添加自定义命令?

    如何用vba在单元格右键快捷菜单中添加自定义的菜单命令? 一文中介绍了用vba给单元格右键快捷菜单添加自定义菜单命令的方法。

    类似的,也可以在vbe内置菜单命令栏添加自定义命令。

    如下代码所示

    当运行上述代码后可以在[……]

    阅读全文

  • 如何用vba获取vbe编辑环境中的各个内置菜单命令栏的名称?

    如何用vba代码返回excel应用程序中的所有内置命令栏的名称? 一文中介绍了如何用vba获取excel应用程序的各个内置命令栏的名称。

    有了名称就可以获取具体的命令栏对象,然后就可以添加自定义命令按钮。

    按下组合快捷键ALT+F11进入VBE的编辑环境中也有各种菜单命令栏。同样的可以[……]

    阅读全文

  • 如何用vba遍历当前vba工程中添加的引用?

    如下图所示

    2

    为vba工程中添加的引用,由于这个引用对话框无法最大化,看不到具体的每个引用的完整路径。

    这时候可以用VBProject对象的References属性返回所有已添加的引用。

    代码如下:

    结果如[……]

    阅读全文