当前位置: 首页 > 编程笔记 >

VBA 隐式和显式声明

漆雕修德
2023-03-14
本文向大家介绍VBA 隐式和显式声明,包括了VBA 隐式和显式声明的使用技巧和注意事项,需要的朋友参考一下

示例

如果代码模块不包含Option Explicit在模块顶部,则编译器将在使用它们时自动(即“隐式”)为您创建变量。它们将默认为变量类型Variant。

Public Sub ExampleDeclaration()    

    someVariable = 10                  ' 
    someOtherVariable = "Hello World"
    'Both of these variables are of the Variant type.

End Sub

在上面的代码,如果Option Explicit指定,代码将中断,因为它缺少必要Dim的陈述someVariable和someOtherVariable。

Option Explicit

Public Sub ExampleDeclaration()   

    Dim someVariable As Long 
    someVariable = 10

    Dim someOtherVariable As String
    someOtherVariable = "Hello World"

End Sub

最好的做法是在代码模块中使用Option Explicit,以确保声明所有变量。

请参见VBA最佳做法,默认情况下如何设置此选项。

 类似资料:
  • 问题内容: 我在使用Hibernate生成无效SQL时遇到问题。具体来说,混合和匹配隐式和显式联接。这似乎是一个开放的错误。 但是,我不确定 为什么 这是无效的SQL。我想出了一个生成相同语法异常的小型玩具示例。 架构图 数据 工作SQL 这两个查询均有效。我意识到有笛卡尔积;那是故意的。 明确加入: 隐式加入: 无效的SQL 此查询不适用于MSSQL 2000/2008或MySQL: 在MS20

  • 本文向大家介绍Android隐式和显式意图,包括了Android隐式和显式意图的使用技巧和注意事项,需要的朋友参考一下 示例 显式意图用于在同一应用程序包内启动活动或服务。在这种情况下,将明确提及所需类的名称: 但是,对于用户设备上安装的可以处理该意图的任何应用程序,系统会在系统上发送隐式意图。这用于在不同应用程序之间共享信息。 可以在Android Developer文档中找到有关差异的更多详细

  • 问题内容: 我了解“隐式声明”通常意味着必须在调用函数之前将其置于程序的顶部,否则我需要声明原型。 但是,应该在文件中(该文件已包含在内)。 有没有什么办法解决这一问题? 问题答案: 没错,如果您包含适当的标头,则不应收到隐式声明警告。 然而,该功能已被 删除 ,从C11的标准。这意味着in中不再有原型。 曾经 在。 删除的原因是众所周知的:它不能防止缓冲区溢出。因此,您永远不应使用,而应改用尾随

  • 为了编写所需的最少代码量,我尝试让ModelMapper生成其隐式映射,并且只为那些无法自动映射的属性编写显式属性映射。 如果我让ModelMapper使用以下命令生成隐式映射: 它抱怨具有多个可能的映射。然后,我尝试使用以下方法修复该问题: 然而,我发现ModelMapper仍在抱怨,因为实际上在上抛出了一个异常,所以它没有机会访问我的自定义映射代码。 如果我反转这两个语句,我会得到一个错误:

  • 问题内容: 我正在浏览一个Web应用程序,如果尝试单击某个元素之后才能与之交互,则该Web应用程序通常会引发错误。 使用Selenium WebDriver(java)时,我可以轻松解决此问题: 但是,我试图使用Selenium类型库在VBA中编写脚本,尽管尝试了许多不同的方法,但我唯一的成功是: 有人告诉我,应该尽可能避免这样做。如果有人可以建议如何将Java转换为VBA或提供任何其他解决方案,

  • 问题内容: 想要有关对象的某些调试信息时,我曾经使用toString的隐式调用,因为在对象为null的情况下,它不会引发Exception。 例如: 代替: 除了null以外,还有什么区别吗? 如果前者不起作用,后者可以工作吗? 编辑: 在隐式调用的情况下,到底做了什么? 问题答案: 没有什么区别。使用较短且经常使用的那一种。 如果您实际上由于其他原因想要获取对象的字符串值,并且希望它为null友