excel - Excel.ThisWorkbook 和 ThisWorkbook 之间的区别?

标签 excel vba object qualifiers

我有一些 VBA 代码在办公 table 上的 Excel 中运行良好,但在家里却崩溃了。事实证明我所要做的就是改变

Set shtObj = ThisWorkbook.Sheets(1)

Set shtObj = Excel.ThisWorkbook.Sheets(1)

有人知道为什么吗?我们的组织刚刚迁移到 SharePoint 平台,我怀疑这会导致各种巫术蔓延,但我只是猜测。

最佳答案

如果将其改回ThisWorkbook 是否有效?

我怀疑它会,原因是 VBA 重新编译了自己(并且第一次没有正确编译 - 因此容易崩溃)。

当文件中嵌入的版本详细信息与正在使用的 Office/VBA 版本不同,或者从 32 位 Office 更改为 64 位 Office 时,会发生重新编译。编辑该行足以重新编译该行,因此在 ThisWorkbook 之前添加 Excel. 足以使其重新编译。在 ThisWorkbook 之前删除 Excel. 应该会强制它再次重新编译。

唯一可能的情况是,如果有一个名为 ThisWorkbook 的变量,但我希望您会收到错误 91、“未设置对象变量或 With block 变量”或其他错误其他错误,但不是崩溃。

关于excel - Excel.ThisWorkbook 和 ThisWorkbook 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862027/

相关文章:

excel - 按标题名称和行号引用表中的 Excel 单元格

excel - 如何使用Excel VBA确定变量中的三个最小值?

javascript - 如何将对象转换为数组?

c++ - 虚构造函数以及在其中调用虚函数会发生什么

php - 构建对象评论树

Excel表格副本

excel - 是否可以在 excel VBA 中使用字符串变量作为 URL?

excel - 将列号转换为字母的函数?

excel - 如何为列中的每个单元格执行函数并循环遍历所有工作簿?

vba - 从工作簿 1 的单元格中的数据宏到 "Save as"工作簿 2