0

我正在通过一个使用 JNI 运行它的库在 Excel 2010 中运行一个 java 进程。

我的机器足以满足我的需要,但 Excel 2010 开始时内存很少,有时我的 JVM 创建失败并显示消息:“无法创建 JVM,无法保留请求的内存”

如何增加 EXCEL 的堆大小?是什么迫使 JNI 在 Excel 内存空间中运行 java 代码?

4

2 回答 2

2

听起来您需要 64 位版本的 excel。运行 32 位版本的 Java 非常困难,因为它需要一个连续的内存区域。

如果您有 64 位版本的 excel,它将能够根据需要使用尽可能多的内存。

另一种方法是启动 Java 进程并通过套接字与其通信。这意味着它不会受到 excel 的限制,而是您的操作系统可以为该过程做什么。例如,即使 excel 是 32 位,它也可以是 64 位。

于 2013-07-30T11:58:29.837 回答
0

我的宏应该将数据从程序(UVprobe)复制到 Excel。这是通过'Application.SendKeys "^c"'从Uvprobe复制数据和'Application.SendKeys "^v"'在Excel中插入数据来完成的。

这需要多次从 UVprobe 转移到 Excel。不久之后,Excel 冻结“Excel(没有响应)”我做了这个小测试程序,它也只在 3 个循环后创建了错误

Sub Apptest()

For i = 1 To 10

    AppActivate "notepad"
    Sleep 1000
    AppActivate "Excel"
    Sleep 1000
Next i 

结束子

如果我输入“Word”而不是 Application.caption,我不会收到任何错误。可能是什么原因?好像是 Excel 把内存填满了,但是在测试程序中看不出是什么占用了内存。

于 2018-10-23T17:47:36.907 回答