【问题标题】:How to take a control of specific cell of XL?如何控制 XL 的特定单元格?
【发布时间】:2017-05-07 08:39:55
【问题描述】:

以下是我打开 XL 文件的代码。

Set myxl = createobject("excel.application")

myxl.Workbooks.Open "E:\Employment.xls" 

myxl.Application.Visible = true

在这里我面临 1 个问题。此代码能够打开 XL 文件,但仅显示在任务栏上。我看不到 xl 文件的内容。有关详细信息,请参阅随附的屏幕截图

2] 我的第二个问题是 我想截取第 300 行和第 8 列单元格的屏幕截图。我能够通过 UFT 读取此特定单元格的数据,但无法滚动到此单元格,以便我可以截取单元格(300,8)的屏幕截图

【问题讨论】:

  • 指的是什么截图?您还没有添加一个。

标签: excel qtp hp-uft


【解决方案1】:
  1. 您可以在最大化模式下打开excel,如下所示:

    myxl.WindowState = -4137

  2. 要滚动到单元格 (300,8),您可以使用以下命令:

    myxl.ActiveWindow.ScrollRow = 300

    myxl.ActiveWindow.ScrollColumn = 8

让我知道它是否有效。

【讨论】:

    【解决方案2】:

    正如 Gman 所说,强制窗口处于最大化状态:

    myxl.WindowState = -4137
    

    然后只需选择要截取屏幕截图的单元格:

    myxl.Cells(300,8).select
    

    请注意,这将选择活动工作簿和活动工作表中的第 300 行第 8 列,因此请确保您在此步骤之前选择了正确的工作表,或直接在 .Select 步骤中指定。

    然后您可以使用 UFT 的标准 Desktop.CaptureBitmap <filepath and name to save> 命令截取屏幕截图

    【讨论】:

    • 嗨 Gman 和 Dave,您向下滚动到特定单元格的解决方案对我有用。谢谢.... Gman,正如我所说,XL 会显示在任务栏上,但它不会打开。您的解决方案“myxl.WindowState = -4137”不起作用。目前我已经使用“Insight recoding”打开 XL,但我对 Insight 录制解决方案不满意。有没有其他方法可以打开 XL 文件?
    • 您可以使用“Wscript.Shell”类型对象的“运行”方法。在 UFT 中,我们有 SystemUtil.Run,​​您可以使用它。在这两种方法中,您都可以传递参数来最大化/最小化/恢复窗口状态。有关 Run 方法的帮助,请参阅此链接:ss64.com/vb/run.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 2011-09-08
    相关资源
    最近更新 更多