问题标签 [scriptom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1389 浏览

excel - Scriptom (groovy) 让 Excel 进程继续运行 - 我做错了吗?

我正在使用 Groovy 1.7.0 的 Scriptom 扩展,在 Windows XP 下使用 Excel 2007 自动执行一些处理。

尽管我在 excel activeX 对象上调用了退出,但这似乎总是让 Excel 进程运行。(在 Scriptom 示例文档中也有一个关于这种现象的参考。)

代码如下:

可见的 excel 窗口确实消失了,但任务管理器中留下了一个 EXCEL 进程(并且每次运行脚本都会堆积更多进程)。

没有错误消息或异常。

谁能解释为什么 Excel 过程被遗忘了,有什么方法可以防止它发生吗?

0 投票
1 回答
2589 浏览

groovy - 如何在 Groovy 上导入 org.codehaus.groovy.scriptom.*?

我正在尝试运行 Groovy 应用程序来操作 STS(由 SpringSource)2.3.0 上的 Excel 文件。

我的 Groovy 版本是 1.7。

班级:

可悲的是,这就是我得到的:

我还尝试将ActiveXObject重命名为ActiveXProxy,结果相同。

我试图从包scriptom-all-assembly-1.6.0手动导入 scriptom,但我没有工作。任何想法?

干杯

0 投票
1 回答
717 浏览

java - java.lang.IncompatibleClassChangeError 在 Groovy 1.7.10 上使用 Scriptom 1.6

我尝试在 Windows 7 上使用 scriptom 1.6 连接到 excel 应用程序。但是我不断收到错误消息:

这是我的代码:

和 Maven 文件:

我只是没有想法了。我已经检查使用 jacob 64 位和 32 位 dll,将 groovy 框架更改为 1.5。有人知道如何使它工作吗?

0 投票
1 回答
388 浏览

vba - 我可以用 Groovy 的 Scriptom 完全替换 VBA 吗?

我必须将几个 Java 应用程序与一个用 C 开发的系统集成,该系统嵌入了用于自动化的 VBA。我更喜欢使用 Scriptom 而不是 VBA。

我不必与任何用 VB 开发的组件集成,只需用 C 开发的组件。我可以用 Scriptom 完全替换 VBA 吗?有什么我应该考虑的问题吗?

谢谢,

阿尔贝托

0 投票
1 回答
1499 浏览

groovy - Scriptom Groovy 格式化 Excel 示例

我正在寻找一些 Groovy 为 Excel 文档执行基本格式化命令的示例。我也想知道在哪里可以找到这些命令的存储库。

你会怎么做:

插入一行

将单元格格式化为短日期、时间等。

加粗整列或整行

0 投票
2 回答
7276 浏览

groovy - 如何在 PowerPoint 2010 中以编程方式复制和粘贴源格式?

我目前正在使用 Scriptom 在 Groovy 中自动化一些 PowerPoint 2010 功能——尽管这个问题可能对任何 PowerPoint 自动化方法都是通用的(即,比我正在使用的特定环境更多的是“VBA 宏”问题?)。

(Scriptom 允许您使用 Groovy 中的 ActiveX 或 COM Windows 组件。我相信它在底层使用 Jacob 库(Java COM Bridge)。底层代码类似于我在 VBA 宏或其他 Microsoft 自动化中使用的代码组件,并且基于 PowerPoint 2010 对象 API。)

我当前的代码运行良好,可以明显地打开 PowerPoint 并在其上执行一系列功能 - 除了我“复制和粘贴”幻灯片从一个文档到另一个文档的组件,“保持源格式”。

我尝试了两次尝试执行此复制和粘贴步骤,但都导致了不同的问题。我想知道是否有人对解决这些问题中的一个(或两个?)有想法:

方法1: 我使用其他各种建议的基本“复制”和“粘贴”方法,即:

也就是说,我手动复制所有格式以保持幻灯片格式。这是在 PowerPoint 2010 之前使用的方法。我实际上已经完成了这项工作,但是要复制格式,我会在“源”幻灯片包中的每张幻灯片上循环并执行上面的复制/粘贴代码。在这个循环中,以下行(单独)是有问题的:

destinationSlide.Design = sourceSlide.Design

一旦目标 SlidePack 在 SlideMaster 中有大量“设计”,这条线就会运行得非常慢。我正在复制 19 张幻灯片的源幻灯片包,每张幻灯片都有不同的 SlideMaster 设计主题(这就是我的想法)。单行代码复制第一张幻灯片大约需要 0.01 秒,但到循环中的最后一张幻灯片时,单行代码每次运行需要 20 多秒。因此,复制前五张幻灯片可能需要不到 1 秒的时间,但总共 20 张幻灯片总共需要大约 100 秒,而后面的所有幻灯片都需要越来越长的时间才能运行这一行。其余的代码竞争!

减速不是线性的,超过 20 张幻灯片会变得更糟。它与最终幻灯片上的内容无关,但似乎随着 SlideMaster“设计/主题”数量的增加,它在“sourceSlide.Design”中复制的速度呈指数增长。我意识到为每张幻灯片使用不同的“设计”对象有点浪费,但我不拥有最初的源演示文稿,而且他们经常这样来找我,每张幻灯片的设计之间只有细微的差别. 如果我删除“destinationSlide.Design”行,它所花费的时间可以从 100 多秒减少到 1 秒左右!

方法 2: 为了避免这种情况,鉴于我使用的是 PowerPoint 2010,我尝试使用以下代码,而不是:

我相信这应该提供对 PowerPoint 2010“使用源格式粘贴”功能的直接访问。但是,这行失败并带有“ null pointer exceptionExecuteMso("PasteSourceFormatting")

我究竟做错了什么?有什么办法可以加快方法一中的慢线?为什么方法2根本不起作用?看起来“destinationPresentation.CommandBars”不为空,但“ExecuteMso”行抛出空指针异常。

即使有多种不同的设计/主题,是否还有其他有效“复制和粘贴”幻灯片的建议应该在合理的时间范围内为 20-100 张幻灯片工作?

提前感谢您的任何想法。

0 投票
1 回答
1736 浏览

soapui - 如何使scriptom与soapUI一起使用

我想使用scriptom 访问soapUI 中的COM 对象,但我无法超越第1 步,即安装scriptom。

我已经尝试过http://www.soapui.org/forum/viewtopic.php?t=96中提到的步骤,但是当我运行一个简单的命令时(见下文)

我得到一个类未定义错误(见下文) 在此处输入图像描述

有没有人能够成功地使用带有soapUI的scriptom?如果是,你能帮帮我吗?

ps:我使用的是soapUI 4.5.2 Pro 和操作系统。我需要 scriptom 与两者一起工作。

0 投票
1 回答
1040 浏览

hp-quality-center - 有哪些不同的 OTA dll 用于

我正在寻找连接 ALM 和soapUI 并且在寻找 OTA dll 时,我发现了许多其他库,其名称中包含 OTA 一词。

我想知道是否有人知道这些 dll 的用途?

0 投票
2 回答
1963 浏览

groovy - 连接alm和soapUI

我正在尝试让soapUI 和ALM 进行通信。我终于正确设置了 scriptom,甚至获得了 HP OTA ALM 参考。不过我有几个疑问...

  1. 参考说

您必须在将与 ALM 平台通信的每个工作站上下载并注册 COM 库

我不可能只将 OTAClient.dll 添加到 java.library.path 或其他地方并使其工作。我问这个是因为当脚本完成时,并不是脚本的所有用户都没有管理员权限来注册 dll。虽然他们肯定会拥有 dll,因为只要有人在他们的机器上打开 ALM,就会下载它。

自从我需要创建一个程序来通过程序访问 QC 或 ALM 已经有几年了,但以前我只会创建一个 ActiveXObject(使用 vbs)然后从那里开始,不需要注册或任何东西。

  1. 无论出于何种原因,我的以下代码都无法正常工作,有什么建议可以解决吗?

代码

错误

---更新-- 自从发布这个问题以来,我尝试注册 API 参考文档中提到的 dll,但仍然得到与之前相同的错误,所以我还有两个问题:D

根据 ALM 的 API 参考 chm doc 注册 dll 的步骤

进一步的问题... 1. 我如何检查 dll 是否实际注册以及 64 位版本而不是 32 位版本?2. 使用 ALM 公开的 Rest API 来做我想做的事情会更容易吗?我希望代码能够与 ALM 和 QC9.0 一起使用。

0 投票
1 回答
3769 浏览

excel - 如何在groovy中使用scriptom将数据写入excel?

我正在从soapUI 中读取属性及其值并将它们写入excel。

我能够将唯一的属性名称写入 excel

但是现在我必须将所有属性写入同一个excel。我已经创建了 excel 列名和soapUI 属性的映射,所以现在我只需要从映射中找到匹配的 excel col 名称并在该 excel 下写入属性值。

我正在使用一个函数来做这些事情。这个函数是在一个 for 循环中调用的,该循环遍历测试用例中的所有属性。我通过这个函数

该功能的相关代码如下。

代码当前正在运行。它从昨天晚上(美国东部标准时间下午 2 点)开始运行,因此即使代码有效,它也不是最佳的。我等不及要写数据了。

奇怪的是,excel 的大小不断增加,这意味着数据正在写入 excel,但我检查了 excel,它没有新数据..nothing..zilch !!

文件大小增加的证据。

我的问题是:
1. 为什么当我从 for 循环中调用函数时没有写入数据,但是当我线性调用它时却被写入?
2.在第一段代码中,excel进程在完成写入后消失,但是当函数运行时,即使它的内存利用率上升和下降,excel进程仍然存在。

我将终止 excel 进程,而不是循环,我将尝试使用该函数仅写入一到两组数据,并将相应地更新此问题。