首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

运行时错误438,但宏工作正常,我如何摆脱或移动过去的错误?

运行时错误438是指在VBA(Visual Basic for Applications)中出现的错误,通常是由于对象模型中的某个属性或方法无法识别或访问而引起的。要摆脱或移动过去这个错误,可以尝试以下几个步骤:

  1. 检查代码:仔细检查引发错误的代码行,确保没有拼写错误或语法错误。确保所使用的对象、属性和方法名称正确无误。
  2. 检查对象:确认代码中涉及的对象是否正确声明和初始化。确保对象存在并且已正确引用。
  3. 检查引用:检查项目引用中是否缺少必要的引用。在VBA编辑器中,选择“工具”>“引用”,确保所需的引用被选中。
  4. 更新软件:确保使用的软件版本是最新的,包括VBA、操作系统和相关应用程序。有时,错误可能是由于软件版本不兼容或存在已知的问题而引起的。
  5. 调试代码:使用调试工具逐行执行代码,以确定引发错误的具体位置。通过观察变量的值和执行流程,可以更好地理解错误的原因。
  6. 查找解决方案:在互联网上搜索类似的问题,查找其他开发者遇到类似错误的解决方案。参考相关的技术文档、论坛或社区,寻求帮助和建议。

总之,解决运行时错误438需要仔细检查代码、对象和引用,确保其正确性和兼容性。如果问题仍然存在,可能需要进一步调试和研究特定的代码和环境。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

令人沮丧C++性能调试

移动 int 很慢 在今年 ACCU 2022 大会上做了一场闪电演讲(“移动 int 很慢:调试性能很重要!”),演讲题目具有挑衅意味——移动 int 怎么会很慢?...init 对象在每次循环时是如何移动。...因此,在其他领域工作的人会认为游戏开发者是尚未发现抽象概念原始人,喜欢用指针和来玩火,完全意识不到导致他们使用这些技术原因。...过去曾有人尝试为“卫生(Hygenic Macro)”引入一种语言特性来解决本文所描述问题,特别是 Jason Rice P1221(“参数表达式”)提议。...这在技术上是可能,但在实践中很难实现。首先,如果你正在调试,你并不总能知道需要检查哪些地方——你可能会做出一个有根据猜测,只禁用一些相关模块中优化,你可能是错误,而且这样会浪费你时间。

1K20

【Rust日报】2022-06-11 Rust借用检查器变得更加智能

Rust借用检查器变得更加智能 好吧,至少,NLL 借用检查器终于在默认情况下完全启用了----这并不是一个吸引人标题,不是吗? 让我们从头开始说。写这篇文章是为了什么?实际上,有几个原因。...首先,许多生命周期相关错误在 nightly 上有了一些变化,所以我想介绍一下,因为觉得他们真的很酷。其次,想介绍一下我们是如何走到今天,因为认为回顾过去总是很重要。...第三,在此过程中,想大声宣传所有贡献者为实现此功能所做所有工作个人在这里所做工作很少;主要是讲别人写故事,他们应该得到所有的赞扬。......只需通过 CLI 指定您使用模组模组包,只需一个命令即可下载您配置所有模组模组包。...刚刚发布了Pasts (v0.11.0) 新版本,这是一个单线程无标准兼容异步运行时,没有、依赖项(除了针对 Web wasm-bindgen-futures)unsafe代码。

25020
  • Checked Exception | Java语言设计者失误?

    不可检查Error是Throwable,而不是Exception,通常在编码过程中编译器会提示如何处理异常,类似于我们常见try catch或者继续throw。...已检查异常可以执行处理恢复,而运行时异常则无法做到。 反对检查异常最大论点是,大多数异常无法修复。...,通过这种方式难以判断该日志如何和出现问题逻辑结合起来,导致难以诊断问题所在,正确姿势应该详细把错误信息输出到日志中。...一些领先和有影响力Java框架现在已经明确地摆脱了检查异常。Spring、Hibernate和现代Java框架/供应商仅使用运行时异常,而这种便利性是它们流行主要因素。...现在,在Java8中,lambda是向前迈出基本一步。这些语言特性将控制流从内部功能操作中抽象出来。正如我们所看到,这使得检查异常成为过去,即立即声明处理要求。

    72010

    Debug和Release之本质区别

    ,减少链接时间  Release 版本   参数  含义  /MD /ML  /MT 使用发布版本运行时刻函数库  /O1  /O2 优化开关,使程序最小最快  /D "NDEBUG" 关闭条件编译调试代码开关... 有错 Release 正常现象。... Debug 方式下,栈访问通过 EBP 寄存器保存地址实现,如果没有发生数组越界之类错误(或是越界“不多”),函数通常能正常执行;Release 方式下,优化会省略 EBP 栈基址指针,这样通过一个全局指针访问栈就会造成返回地址错误是程序崩溃...如上所述,可以把 Release 选项逐个改为与之相对 Debug 选项,如 /MD 改为 /MDd、/O1 改为 /Od,运行时间优化改为程序大小优化。...不过令人庆幸是,Call Stack 窗口仍然工作正常,即使帧指针被优化,栈信息(特别是返回地址)仍然能找到。这对定位错误很有帮助。

    3.8K90

    泛型和元编程模型:Java, Go, Rust, Swift, D等

    在本文中,将带你领略不同语言中泛型系统以及它们是如何实现。...将从C这样不具备泛型系统语言如何解决这个问题开始,然后分别展示其他语言如何在不同方向上逐渐添加扩展,从而发展出各具特色泛型系统。...总的来说,装箱有利于缩短编译时间,但会损害运行时性能,而单态化会生成代码运行期效率高,需要额外时间来编译和优化生成代码。当然它们在如何扩展方面这方面也有所不同。...使用就可以直接将用户写代码以token形式从输入粘贴到输出,如果用户代码在输出中引起编译器错误,编译器输出错误信息将正确地指向用户代码所在文件、行和列,如果生成了错误,那么错误信息将指向调用...其实并不知道有哪种语言泛型是这样工作,这只是在写作本文时一个想法,作为这个分类法自然延伸,这也正是希望从中得到东西!

    3.1K30

    可能每天都会用到Git命令速查表

    但是,该工具功能强大且使用广泛,以至于很容易在其所有可能命令中迷失方向。 因此,根据我自己经验,以下是经常遇到关于"如何使用Git进行X运算"常见问题解答。...要摆脱自上一次提交以来所做所有更改,只需运行: git checkout -- . 要仅清除特定文件目录中更改,请。可以替换为您希望从中删除更改文件和/目录列表。...如果你想摆脱所有的"修订错误"提交,并将它们全部合并为一个,则可以使用以下方法: git reset --soft HEAD~2 && git commit -m "your message" 请记住将...它工作方式如下: 1、开始过程 git bisect start 2、将当前提交标记为"不良" git bisect bad 3、将过去提交标记为"良好" 例如,使用git log查找过去提交,其中事情按预期进行...以上就是解决问题方案。Git是一个很棒工具,希望这个备忘单可以帮助你解决一路上可能遇到一些问题。 它绝对不会涵盖你需要了解所有内容,这是一个好的开始。

    1.2K30

    原 What Every Dev need

    还有运行时内部异常。大多数运行时开发者很少考虑如何生成并公开托管异常模型。但是运行时开发者需要知道异常是如何实现。为了保证区分两种异常。...本文档使用managed exception标识一个托管应用程序抛出捕获。使用CLR‘s internal exceptions标识运行时内部错误。...如果有些代码需要捕获一个异常一组异常, 那么它就需要捕获、检查异常, 并重新抛出其他异常。 EX_CATCH会捕捉所有,而函数通常并不需要,下面两节主要讨论如何处理你不关心异常。...运行时通过托管异常将错误报告回托管代码。 如果fcal 函数(直接间接)引发托管异常。正常 clr 托管异常实现将查找适当托管处理程序。...外部代码可能导致异常情况。这一个问题原因来自于 EX_TRY 实现, 特别是它们如何将非异常转换包装为异常。

    1.2K80

    【Rust 日报】2021-02-26 《Rust用于web开发2年后感悟》

    《Rust用于web开发2年后感悟》 大约2年前,开始使用Rust开发Web服务(JSON API),认为是时候可以摆脱先入为主观念并分享学到知识了。...但是几个月后,能够立即理解错误,并能立刻解决这些错误。今天,真的没有花太多时间在编译器上。相反,它成为了最好朋友,尤其是在重构大部分代码升级依赖项时。 缓慢编译时间:给这个说明。...掌握它需要时间和耐心,但是一旦你这样做了,你就会学到很多你永远不会像以前那样接近编程东西。在学习Tokio工作原理时,了解了Golang运行时如何工作。...(心智模型学习) 一旦它编译,通常它就可以正常工作:这是关于Rust最喜欢地方。当我程序编译时,它按计划工作。注意:只要记住不要阻塞事件循环,编译器就会处理剩下事情。...用于错误类型处理 sentry 用于错误监控 结论 Rust非常适合用于web开发,在此强烈建议尝试一下。

    2.3K10

    Easy Tech:什么是I帧、P帧和B帧?

    1.首先,可以查看帧1,并找到相匹配块。它似乎移动了一个帧宽(知道要少一些)距离,并与帧2中像素块高度大约相同。好,运动矢量出现了。...1.首先,查看了帧1并找到了相匹配球体,它似乎移动了一个帧宽(知道要少一些)距离,并向上移动了一些。这让我们得到了运动矢量。另外,包含两个球体块之间差异似乎非常小(猜测)。...如果你视频编解码器使用基于压缩(如H.264/AVC所做一样),那么B帧中每个块都可以: 后向预测(使用未来帧) 前向预测(使用过去帧) 无帧间预测,仅帧内预测 完全跳过(帧内帧间预测...恢复比特流错误 我们之前说过,I帧可以被独立地编码和解码。这意味着I帧可用于恢复视频文件视频流中灾难性故障。 我们来看看是它是如何做到。...人们经常会问:在哪里、什么时候以及如何使用P帧和B帧? 如果你已经理解上文中所描述P帧和B帧工作原理,那么你就知道P帧和B帧可以在减少视频大小同时,保证视频质量。这就是它们主要用途!

    3.3K20

    防御性编程

    这是一种努力,防止(至少是观察)我们代码以将会展现错误行为方式被调用。      ...测试工作不是防御性,这项工作可以验证代码现在是正确,但不能保证代码在经历将来修改之后不会出错。即便是拥有了世界上最好测试工具,也还是会有人对代码进行更改,并使代码进入过去未测试状态。...对于一个函数一个类,这也许还不要紧,但是如果一个系统由10万个函数组成,问题就变得严重了。 — 每种防御性做法都需要一些额外工作。为什么要做这些工作呢?你需要做已经够多了,不是吗?...你所告诉编译器是:“忘记类型检查吧,知道这个变量是什么,而你不知道。”你在类型系统中撕开了一个大洞,并直接穿越过去。这样做很不可靠。...ASSERT()是一个调试程序时经常使用,在程序运行时它计算括号内表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。

    1.4K80

    基础渲染系列(十七)——混合光照

    因此,你只能在运行时对灯进行一些小调整,就像稍微改变其强度一样。更剧烈变化将使烘焙和实时照明不再同步变得显而易见。 1.2 升级着色器 刚开始,一切似乎工作正常。...不想使用此,而只依赖显式分配,因为它隐藏了像我们刚遇到错误一样错误。 1.3 我们自己淡出阴影 现在,我们正确地使用了新,但是主光源阴影仍然没有像应有的那样淡出。...UnityMixRealtimeAndBakedShadows函数为我们完成了所有这些工作。 ? UnityMixRealtimeAndBakedShadows如何工作?...(5个互相叠加光,1个变为全烘焙) 2.6 支持多个遮罩定向灯 不幸是,事实证明,只有在最多包含一种混合模式定向光情况下,阴影遮罩才能正常工作。对于其他定向光,阴影衰减会出错。...这在Unity 5.6.0中发生了变化,当时新方法被强制为旧结构。 Unity在2017.3中再次更改了附加照明方法,因此支持了定向照明,这给我们解决方法和未来照明工作带来了麻烦。

    2.6K40

    Oracle免客户端For .Net(增加分析Devart和DataDirect)

    就是这么小愿望,在面对Oracle时都很难实现。     虽然04年就开始用Oracle开发项目,每次遇到问题总是胡乱弄一下,能用就行。...有了更小运行时,为了方便,我们还希望能做到免安装,伴随着我们开发主程序拷贝过去就能用。...这说明,只要能找到oci.dll所在目录,程序就可以正常工作。当然,如果把这个目录文件直接放到软件目录中,也是可以使用。 到这里,习惯想,只要把那些安装后文件拷贝走,就可以使用了。...如果找不到oci.dll呢,就会报这个错误: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 更高版本。...运行时 支持 支持 OCI目录设置方式 环境变量Path中设置 环境变量Path中设置配置文件设置DllPath注册表设置DllPath 其它环境变量 需要设置ORACLE_HOME 无 运行时安装包大小

    2.1K100

    工业机器人应用十大误区,你知道吗?

    当机器人技术在不断改进和发展时,越来越多企业开始采购和使用机器人。如何才能知道要选择哪个种类机器人呢?如何避免我们可能并不了解那些误区,甚至是那些已经在应用上取得成功而并不适合自己?...可重复性是指机器人依照规定工作路径,在既定位置之间精确往返来体现。精确性是依照工作路径精确地移动到一个经过计算点来体现。...误区六:挑选机器人系统只依赖于控制系统优劣 大多数机器人制造商考虑更多可能是机器人控制器而不是机械性能。但是如果一旦配置了机器人,正常运行时间就主要依赖于机械耐用性。...任何生产设备使用时间是和用户如何使用、维护设备紧密关联。一些第一次用机器人用户拒绝培训并不少见。机器人保持正常工作至关重要条件是充分了解机器人能力并在工作范围内最佳使用。...误区十:根本就没有考虑到运用机器人技术 受到投资规模限制,缺乏对机器人技术了解的人和过去在采用机器人方面有失败尝试是很多人远离机器人技术理由。

    65280

    图灵奖得主、AAAI候任主席展望“AI未来10年”

    知识就像牛顿定律万有引力定律,人类认知需要很多真实知识。而深度学习要获取知识并不容易,深度学习目前如此有效,是因为我们有大量数据。认为深度学习下一步需要学会获取知识,这是个巨大挑战。...张江:人工智能是一个非常宽泛领域,深度学习仅仅是一部分。Hopcroft教授,您在过去50年里,在计算理论上做了很多工作,您愿意和我们分享一下,从理论和算法角度如何看待人工智能进展吗?...在自动驾驶系统中,机器做出决策必须是非常准确,容不得一丝马虎,这样才能确保乘客安全。所以对于最后10%提升,我们还需要做额外工作。 张江:数据和知识之间是有差别的,这很赞同。...但我们也需要基础研究,甚至是人工智能领域外基础研究。在过去25年里,基于人类大脑发育研究也是很重要。现在人们知道在儿童生命头两年,大脑会学习如何学习。...在未来,真正进步可能来源于生物学,真实情况仍然是不确定。 张江:Selman教授,您能否谈谈,美国近期在人工智能政策上做出了哪些正确决定?

    36810

    Visual C++ 中重大更改

    当你升级到 Visual C++ 编译器新版本后,可能会在之前编译并正常运行代码中遇到编译和/运行时错误。...catch(D& d) { }            后面是字符串文本 编译器现在支持用户定义文本。 因此,之前没有任何干预空格字符串文本被视为用户定义文本,这可能会产生错误意外结果。...           localeconv 启用 每个线程区域设置后,locale.h 中声明 Localeconv 函数现在正常工作。...它在功能上等效于 %f 格式说明符,使用大写字母形式进行格式设置无穷大和 Nan 除外。 在早期版本中,实现过去通常将 F 和 N 分析为长度修饰符。...如果将 snprintf vsnprintf 在包括 之前定义为,则现在编译将因出错而失败,该错误指示定义了位置。

    4.8K00

    143亿!苹果这个瓜真的有点大啊|Swift 周报 issue 49

    苹果表示:“当引导用户在外部网页上完成数字商品服务交易时,开发者可以选择如何设计促销、折扣等。”...我们提议引入一个新标记协议 BitwiseCopyable,它可以由那些可以通过直接调用 memcpy 进行移动复制且不需要特殊销毁操作类型来遵循。...虽然遇到先决条件通常意味着程序中存在真正错误人们认识到开发人员容易犯错,曾经被认为不可能事情实际上可能会发生。...人们提出了各种想法,包括扩展 Swift 闭包来封装函数指针和上下文指针,或者利用借用移动类型来表达对象和转义指针之间依赖关系。...通过在类型、函数属性上标记 @MainActor 自定义全局 actor ,我们可以确保特定工作在相应 actor 上独占运行。全局 actors 在特定情况下非常有用,如主线程渲染。

    12932

    Visual C++ 中重大更改

    当你升级到 Visual C++ 编译器新版本后,可能会在之前编译并正常运行代码中遇到编译和/运行时错误。...catch(D& d) { }            后面是字符串文本 编译器现在支持用户定义文本。 因此,之前没有任何干预空格字符串文本被视为用户定义文本,这可能会产生错误意外结果。...           localeconv 启用 每个线程区域设置后,locale.h 中声明 Localeconv 函数现在正常工作。...它在功能上等效于 %f 格式说明符,使用大写字母形式进行格式设置无穷大和 Nan 除外。 在早期版本中,实现过去通常将 F 和 N 分析为长度修饰符。...如果将 snprintf vsnprintf 在包括 之前定义为,则现在编译将因出错而失败,该错误指示定义了位置。

    5.2K10

    在现代 JavaScript 中编写异步任务

    作为编程语言, JavaScript 有两个主要特征,这两个特征对于理解我们代码如何工作非常重要。首先是它同步特性,这意味着代码将逐行运行,其次是单线程,任何时候都仅执行一个命令。...尽管是异步执行,用 async/await 表示会使代码看起来好像是同步,这是容易被开发人员阅读和理解东西。 那么错误处理呢?我们可以用在语言中存在了很久try 和 catch。...但是摆脱回调链更难解决,认为在多年来习惯于观察者模式和采用方法之后,必须将方法传递给 then 并不能帮助我们摆脱原有的思路,例如 Node.js。...在文中他解释了如何避免这些陷阱。 认为 Promise 是中间步骤,它允许以自然方式生成异步任务,并没有帮助我们进一步改进更好代码模式,有时你需要更适应改进语言语法。...现在很难说我们需要从语言中真正地将这些难题转变成更简单程序,但是对 Web 和 JavaScript 本身如何推动技术,试图适应挑战和新环境感到满意。

    2.4K30

    (译) Understanding Elixir Macros, Part 6 - In-place Code Generation

    延迟代码生成 当执行时, 区分上下文和调用者上下文是很重要: defmacro my_macro do # Macro context(上下文): 这里代码是正常部分, 并在运行时被执行...否则, 如果从函数定义内部调用, 并且将代码生成操作移动到调用者上下文中, 那么实际上将代码执行从编译时(compile-time)移动到了运行时(run-time), 这会影响到性能....end 由于调用者上下文(Caller’s context)是模块级, 因此这种延迟转换仍将在编译时发生, 不会有运行时性能损失. 解决方案 鉴于这些讨论, 解决方案相对简单, 解释它相当复杂....稍后会解释这是如何工作....回顾 关于 Elixir 系列文章到此结束了. 希望你觉得这些文章有趣且有学习意义, 并且对工作机制有了更多了解和使用信心.

    17840

    【Rust 易学教程】第 1 天:Rust 基础,基本语法

    例如,Rust 通过借用检查器消除了整个类运行时错误,得到了像 C和 c++ 一样性能,没有内存不安全问题。此外,还可以获得具有模式匹配和内置依赖项管理等结构现代语言。...尽管只有29行代码,这个 C 语言示例中至少有 11 行包含了严重错误: 赋值=而不是相等比较==(第28行) printf 多余参数(第23行) 文件描述符泄漏(在第26行之后) 多行 if 中忘记使用大括号...不,令人惊讶是,即使在最新GCC版本(撰写本文时为13.2)中,该代码也会在默认警告级别下编译无警告。 这不是一个非常不现实例子吗? 绝对不是,这类错误过去会导致严重安全漏洞。...Rust 没有提供一些你可能认为是标准和必要东西,例如: 一个随机数生成器,开发者请参阅 rand。 支持SSLTLS,开发者请参阅 rusttls。...像if和while这样关键词工作原理是一样。 变量赋值用=完成,比较用==完成。

    35220
    领券