问题标签 [excel.application]

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 投票
1 回答
5717 浏览

vbscript - vbscript 通过任务计划程序在 Windows 10 中打开 excel 文件

我有一个通过任务计划程序执行的脚本文件,该文件在 Windows 7 中运行良好,但在 Windows 10 中无法运行。

这是代码片段:

emlAttach在脚本前面设置为绝对路径和带扩展名的文件名。

通过单击脚本文件执行此操作时,它可以完美运行。当它作为计划任务运行或强制从任务计划程序运行时,它会询问我想使用什么程序来打开文件。如果我选择 Excel,它会给我一个错误,告诉我该文件不存在。

该错误的文件扩展名是错误的,xlsx与变量xlsb.

0 投票
2 回答
95 浏览

vbscript - 在 Excel 工作表之间传输数据

这是我的脚本,它打开 Excel 文件并从某些单元格中获取信息,然后将其插入到另一个 Excel 文档中。我已经包含了整个脚本,但标记了我认为错误所在的位置。我真的很困惑为什么这不起作用,因为我在另一个完美运行的脚本中使用完全相同的方法。

从答案更新代码,同样的问题仍然存在。我认为这是由Find_Excel_Row.

我尝试将脚本放在循环中的函数中,所以变量没有问题,但我得到了同样的错误。

0 投票
1 回答
143 浏览

vbscript - 找到第一个空单元格

我看过很多其他帖子,但是当我尝试解决方案时,因为它们不起作用。

我正在使用 VBScript,我有一个要写入的文件,并且我希望脚本能够自动选择第一个空行并将行号存储为变量 ( r)。

我是 VBScript 的新手(因此最近有所有关于它的问题)所以我不确定我是否只是在执行其他答案是否错误。

0 投票
1 回答
143 浏览

excel - 测试 Excel 是否已完成其启动/关闭序列

我正在使用PowerShell通过 COM 自动化一些 excel 任务,通过PowerShell这样的脚本:

我的问题是,如果我省略第一次调用 to sleep,Excel 将无法执行需要加载项的任务,并且调用 to$xl.quit()不起作用,并且进程无法退出,如下所示:

同样,如果我省略了对 的第二次调用sleep,excel 没有时间完成关闭,最终这会导致一个对话框显示“Microsoft Excel 已停止工作......”,下次 Excel 启动时,另一个对话框框显示“Microsoft Excel 无法正常关闭,以安全模式启动?”

显然,这些是我想避免的问题,但调用的启发式解决方案sleep 5仍然可能在某些情况下失败。有什么方法可以检测 excel 何时完成其启动序列并准备发出命令(xl.quit()特别是)以及何时完成关闭序列(即何时可以调用[System....Marshal]::ReleaseComObject($xl)

0 投票
1 回答
4799 浏览

excel - Powershell查找excel单元格参考

我正在使用以下 powershell 代码在 excel 文档中搜索字符串,并根据是否找到它返回 true 或 false。

如果找到字符串,我希望能够获取该字符串的单元格引用,但我无法弄清楚或在谷歌上找到答案。你能帮我吗?

0 投票
1 回答
877 浏览

excel - Powershell加1到excel列引用

刚刚在这里询问了一个powershell问题Finding excel cell reference,我需要添加它。

我最终得到的整体代码如下。

这将返回 F25 的单元格引用,这是字符串所在的位置,基于此我想在单元格引用 G25 中测试它旁边的单元格,我的问题是如何向 F25 添加一列?

0 投票
1 回答
167 浏览

vbscript - 如何在 IIS7 中运行的网页中读取 .xls?

我正在尝试将 excel 文件作为网页内容读取。我想在经典的 ASP 中通过 vbscript。

但是......代码需要很长时间才能打开,当它工作时,页面是空白的!请问我应该这样做吗?

我也试过:

0 投票
1 回答
15862 浏览

vb.net - 为什么即使在导入 Microsoft.Office.Interop.Excel (VB.NET) 之后,所有 Excel 对象都“未定义”?

我有这个代码:

导入 Excel = Microsoft.Office.Interop.Excel

公共类FormExcelTest_VB

我从这里得到的。

但是,它不能编译;我得到:

由于不熟悉 VB[.NET],我对自己说,“你自己,你可能忘记添加所需的引用了。 ”但后来我看到解决方案资源管理器中没有针对该项目的“References”文件夹(来自陆地C#,这对我来说似乎非常奇怪)。

将鼠标悬停在被拒绝的代码上时,我得到的“有用”消息是:

在此处输入图像描述

第一个似乎不是可能的补救措施,接下来的更不是。我应该如何知道如何解决(不是双关语)这些未定义的类型?

0 投票
1 回答
294 浏览

xml - Rounding number from XML to Excel

I'm reading some value from XML:

and then writing to Excel using PowerShell:

But in Excel I'm getting this number: 2.0151E+16

If I change Excel format I can get this: 20151027301060000

It's not the same number, and I need to get exactly the same.

I tried to play with Excel formats and also use Tostring() on variable, but without luck.

What also can I try?

PS. If I copy and paste this value manually it works only I use

match destination formatting

option in Excel.

How I can set this option from PowerShell?

0 投票
1 回答
1888 浏览

autohotkey - 打开工作簿,除非它已经打开 autohotkey COM 对象

我正在尝试检查一个 excel 文件是否打开,以及它是否使用现有的打开文件。如果不是,我想打开文件。

这段代码只是给出了一个空白的 msgbox:

我在这里做错了什么?

编辑: 澄清一下,当没有工作簿打开时,此功能正常,但是当已经打开一个工作簿时,它只会以只读方式打开另一个工作簿。

用简单的英语,我希望它这样做:如果打开一个工作簿,其中文件名的前 x 个字符与预定义的字符串匹配,则使用该工作簿,否则打开一个新工作簿。

EDIT2: 我认为值得一提的是我正在尝试编码的情况。当用户第一次运行脚本时,它应该打开一个 Excel 工作簿并更新网页中的值。在这样做的过程中,它可能会失败,并且脚本可能会退出。此时,用户将留下一个打开的工作簿,其中包含脚本在失败之前处理的行的未保存条目。

我希望能够重新运行脚本并将现有打开的工作簿附加到 com 对象,以便脚本可以继续正常运行。

有一个更好的方法吗?如果更新网站时出现问题,我应该只保存脚本并关闭工作簿吗?

或者可能以不退出脚本但迭代循环并使用下一个 excel 行再次尝试的方式对脚本进行编码?