在 VBScript 中选择包含数据的 Excel 个单元格

Selecting Excel Cells with data in VBScript

我一直在尝试仅使用 VBScript 代码来操作 Excel 文件。它是一个独立的 VBScript,可以打开和关闭 excel 个文件。 Range(Selection, Selection.End(xlDown)).Select 代码有问题。当我在 excel 宏中 运行 这段代码时,它会 select 处理特定单元格中具有连续数据的所有行。正如我想要的那样。问题是当我尝试从 VBScript 运行 这段代码时。文件类型是 .vbs

我在脚本中创建了 Excel 对象:Set objExcel = CreateObject("Excel.Application")。代码 objExcel.Range("A5").select 是 select 正确的单元格。但是 objExcel.Range(Selection, Selection.End(xlDown)).Select 什么也没做。当您按住 shift + ctrl 并按下 excel 中的向下箭头时,功能相同。当我在excel和运行中录制宏时也没有问题,同样的代码在VBA中通常是运行ning。行得到 selected。唯一的问题是当我将该代码转换为独立的 VBScript 时没有任何反应。

我需要一种方法来 select 包含数据的连续单元格。与 ctrl+shift + 下、上、左、右相同。如果您知道任何其他实现它的方法,我可以接受。

VBScript 不理解 VBA 设置使用的常量,例如 xlDown.

您需要引用 xlDown 的实际值,您可以从 MS Docs site

在您提到的这个特定实例中,常数值为 -4121 因此您在 vbscript 中的命令将是:

objExcel.Range(Selection, Selection.End(-4121)).Select i

但是,由于性能受到影响,您应该始终尽量避免在 VBA/VBScript 中使用 Select,请查看 here 了解更多信息

我是用测试脚本的时候想出来的。

问题出在 xlDirection 上。当我开始使用文档中的数字时,代码开始工作。 objExcel.Range(Selection, Selection.End(-4121)).Select 中的 Selection 关键字也存在问题。它返回 Object required:'Selection'。我将 objExel. 添加到 Selection:

的两个实例

objExcel.Range(objExcel.Selection, objExcel.Selection.End(-4121)).Select

它现在正常工作。