问题标签 [excel-4.0]

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 回答
594 浏览

php - PHPExcel 无法读取 Excel 4.0 工作表

有这个旨在导入 Excel 工作表的项目:该文件是一份报告,而不是一个平面文件,并且没有办法获得这样的文件。所以我使用 PHP Excel 来读取文件并将我们需要的数据保存到应用程序中。

问题是该文件是 Excel 4.0 格式,我无法编辑(显然),它可以在 MS Excel 应用程序中打开和查看,但 PHP Excel 在尝试使用 Excel5 读取它时抛出异常:

致命错误:在 C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel 中出现消息“文件名 C:/xampp/htdocs/uploads/PS.xls 未被识别为 OLE 文件”的未捕获异常“PHPExcel_Reader_Exception” \Shared\OLERead.php 第 90 行

PHP Excel 将文件识别为 HTML 格式,但也会向我抛出错误:

警告:DOMDocument::loadHTML(): Invalid char in CDATA 0x4 in Entity, line: 1 in C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel\Reader\HTML.php on line 495

我想这是因为数据包含特殊字符(UTF-8),但在 PHPExcel 中没有发现任何可以改变编码的东西......也找不到关于这个问题的任何东西,我开始认为没有解决方案,除了通过要求用户将数据复制并粘贴到“体面”的 Excel 文件中......这种方式有效,但需要一些手动操作。

0 投票
0 回答
470 浏览

excel - ExecuteExcel4Macro 现在仅在 .xlms 源文件打开时有效

多年来,我一直在使用带有ExecuteExcel4MacroVBA 命令的 Excel 文件从关闭的 Excel 文件中提取值。我只在装有 Windows 7 的机器上使用过它,而且它运行良好。一个警告:截至今年,我所有关闭的 Excel 文件都是 .xls 文件。

今年,同一个 Excel 文件仍然正确地从每个已关闭的 .xls 文件中提取值,但它不会从任何已关闭的 .xlsm 文件中提取值。但是,当我启动任何 .xlsm 文件(即打开 Excel 源文件)时,我的 Excel 文件使用ExecuteExcel4Macro命令会正确地从打开的 .xlsm 文件中提取值。

任何人都知道为什么我的带有 VBA 代码的 Excel 文件在关闭的 .xlsm 文件上仍然可以正常工作,但会为每个关闭的 .xlms 文件生成 Type 13 错误?我捕获错误,通过在输出 Excel 文件(带有我的 VBA 代码的文件)中添加一条简短消息来报告它,然后继续阅读下一个 Excel 文件)。不是 Dim 错误,因为宏适用于源文件关闭时提取的所有数据。

还有一条信息:ExecuteExcel4Macro当我在 Windows 10 机器上运行带有 VBA 代码的 Excel 文件时,它工作得很好。也就是说,它正确地从我关闭的每个 .xlsm 文件的正确单元格中提取值。因此,它仅在以下情况下不起作用:(1)我在我的 Win 7 机器上运行它,#AND#(2).xlms 文件已关闭。

0 投票
1 回答
360 浏览

excel - 将 Vlookup 与 ExecuteExcel4Macro 一起使用时出现运行时错误 1004

在 VBA 中使用 ExecuteExcel4Macro 函数时,如何在 Excel VBA 中正确构造 VLOOKUP 语句?

我有一个函数可以成功地在另一个 excel 工作簿中查找一个值,而无需使用 ExecuteExcel4Macro 打开它,但是当我尝试将语句更改为 VLOOKUP 语句时,我收到运行时错误 1004:

功能:

它在子程序中的用法:

我没有看到 VLOOKUP 语句的构造方式有任何错误,ExecuteExcel4Macro 是否需要不同类型的语句,还是这里发生了其他事情?

任何帮助将不胜感激,如果有人碰巧知道是否有 ExecuteExcel4Macro 的手册或任何具有实际价值的文档也将有所帮助!

0 投票
1 回答
888 浏览

excel - Application.ExecuteExcel4Macro 搜索已关闭的工作簿,返回行数

问题:我需要在已关闭的工作簿中搜索特定值,然后返回匹配字符串的行号,或者更优选地返回具有匹配字符串行号的值。

我试图让它与该ExecuteExcel4Macro功能一起使用,我的代码可以在下面找到。

arg =我在线上收到运行时错误“9”

0 投票
1 回答
123 浏览

c++ - Excel C API:是否有 Excel v4.0 宏函数来测试工作表是否隐藏?

我需要使用 Excel 4 宏函数/Excel SDK 确定工作表是否隐藏,最好获取 XlSheetVisibility 值(即xlSheetHiddenxlSheetVeryHiddenxlSheetVisible)。

我希望这种查询是可能的,GET.DOCUMENT()但似乎并非如此。

我也查了也GET.WORKBOOK()没有GET.WORKSPACE()用。

有没有办法通过宏函数而不诉诸VBA来做到这一点?

0 投票
1 回答
54 浏览

excel - Excel VBA XL4 应用程序级别定义名称

定义的名称通常在工作表或工作簿级别定义。但也可以使用旧的 xl4 宏调用在应用程序级别定义它们。因此,它们成为存储在 VBA 项目被重置(例如由于错误)时不会被重置的状态的地方。

这是一个老把戏,但我不记得怎么做。而且文档不多——有些人一定认为 xl4 已经过时了。

0 投票
1 回答
387 浏览

java - 从 Java 读取文件 excel 版本 4

我想读取由 Power Builder 应用程序生成的 Excel 文件(Office 版本 4)。这是代码:

当我尝试使用 POI 库 v3.17 读取 Excel 文件时,它会抛出此异常:

由于 Excel 文件是一个非常旧的版本,我尝试使用 POI v3.0-FINAL 读取它(我找不到旧版本)并抛出此异常:

我尝试使用 ODBC 读取 Excel 文件

但它抛出异常:

我还尝试使用 jxl 库读取 Excel 文件

但是抛出这个异常:

任何人都可以帮助我使用任何 Java 库阅读 Excel 文件版本 4 (1994) 吗?

我正在使用 JDK 1.7

0 投票
0 回答
141 浏览

excel - 在关闭的工作簿中通过 vlookup 进行搜索的功能不起作用

我尝试Vlookup通过ExecuteExcel4Macro. 由于我需要在不同的工作簿中找到很多值,因此在封闭的工作簿中进行操作是有意义的。

我使用了下面的代码,但如果我在我的 Excel 书上输入该函数,它就不起作用:

我可以保证我的D:名字上有一个文件,其中包含我在这里提到的范围内testfile.xls的 asheet1和内容。但结果是#value!

我想在一个函数中使用它,因为我想制作一个可以在多个工作簿中使用的价格计算插件,所以我宁愿没有在宏中引入它。

0 投票
0 回答
122 浏览

excel - 计算已关闭 Excel 文件中数据的平均值/标准偏差

我知道我可以使用
ExecuteExcel4Macro("'C:\Location\Name\[excel1Test.xlsx]Sheet1'!R3C3") (https://stackoverflow.com/questions/32015693/getting-a-range-from-a-closed-workbook-into-an-array)从关闭的工作簿中获取值

并对打开的工作簿进行标准偏差计算

我有一个封闭的 Excel,我知道这个 Excel 的名称和路径以及所有内容,我想对 Sheet1 的.StDev数组执行一个函数C1:C2000excel1Test.xlsx.

问题是获取 的数组C1:C2000,并在该数组上执行 a .StDev

excel1Test.xlsx很多兄弟,他们都位于同一个文件夹中。它们看起来都有些相似。换句话说,它们都有C1:C2000Sheet1

我知道了

通过使用ExecuteExcel4Macro(arg)and 一个While循环来找出数组的大小和一个For循环来填充数组。

然后将结果放入此函数中:

这段代码非常非常慢。我有 100 多个 Excel 文件,每个文件 6 张,每张 5000 到 100 行不等...

我正在再次寻求帮助以加快此代码的速度。

0 投票
1 回答
324 浏览

excel - Excel 4.0 宏不适用于 64 位 Excel,并且“VirtualAlloc”返回 8 字节中的 4 字节

我正在尝试分析https://outflank.nl/blog/2018/10/06/old-school-evil-excel-4-0-macros-xlm中介绍的 Excel 4.0 宏示例。

在测试时,我注意到它在 32 位 Excel 上运行良好,但在 64 位上无法正常运行。

最终,我找到了原因,那就是:VirtualAlloc函数总是返回 8 个字节中的 4 个字节。

这里的实现:

如何解决?