是否有一种方法可以强制VBA/Excel 2000中的垃圾收集? 这个问题是指Excel中的宏语言. 不使用VB .NET来操纵Excel.所以gc.collect()无法正常工作 解决方案 使用笔直VBA时,您无法利用.NET框架提供的垃圾收集. 也许这篇文章 P> 其他解决方案 您不能在VBA中强制GC,但是最好将全局变量设置为一无所知. KD7提到的文章说,在局部变量脱离范围之前,没有什么用,但没有谈论全局变量. 在VBA中,模块中定义的全局变量通过整个Excel会话还活着,即直到包含定义它们关闭的VBA模块的文档. 所以不要将无用的Set O = Nothing当o当局部时,但在全局时做. 其他解决方案 VBA/Excel没有垃圾收集,例如旧VB.它使用参考计数而不是GC.当您将任何指针设置为一无所有时(或变量超出范围)时,内存就会释放.就像在旧VB中一样,这意味着循环引用永远不会被释放.
以下是关于 excel-2000 的编程技术问答
问题: 我使用VBA用文本填充MS Excel 2000单元.该列具有固定的宽度(不应由于布局而更改),并且Wordwrap属性设置为true,因此如果较宽,则文本在多行上包裹. 不幸的是,行高度并不总是会相应地更新.我需要一种方法来预测文本是否包裹在多行上,以便我可以"手动"调整高度. 我想做这样的事情: range("A1").value = longText range("A1").EntireRow.RowHeight = 14 * GetNrOfLines(range("A1")) 如何编写函数getnroflines? 我不能依靠字符数量,因为字体不是单空间.有时,我要写的单元格与其他单元格合并,因此自动FOFIT不起作用. 请记住,我在Excel 2000工作. 建议? 解决方案 不幸的是,我没有找到一个好的解决方案. 该问题起源于Excel 2000中的错误.我不知道它是否也适用于以后的版本. 水平合并细胞时,问题表现出自我.
一个人如何使用Excel 2000中的VBA打开半分离的CSV文件? 样本数据 An ID;TEST20090222 A Name;Firstname Surname A Date;11.05.2000 Country:;SomeCountryName Currency;EUR CostA; CostB; CostC; Part1;10;20;30 Part2;;;; Part3;34;56;87 代码 在Excel 2003 11.8231.8221 SP3带有VBA 6.5.1025,我可以打开一个带有以下VBA代码的半符号界限文件: Workbooks.OpenText filename:=myFilename, _ DataType:=xlDelimited, Semicolon:=True, Local:=True 但是,当Excel 2000 9.0.8961 SP1带有VBA 6.5.1025时,我会收到以下错误: 编译错误:
如何在 Excel 2000 中使用 VBA 打开分号分隔的 CSV 文件? 样本数据 An ID;TEST20090222 A Name;Firstname Surname A Date;11.05.2000 Country:;SomeCountryName Currency;EUR CostA; CostB; CostC; Part1;10;20;30 Part2;;;; Part3;34;56;87 代码 在带有 VBA 6.5.1025 的 Excel 2003 11.8231.8221 SP3 中,我可以使用以下 VBA 代码打开分号分隔的文件: Workbooks.OpenText filename:=myFilename, _ DataType:=xlDelimited, Semicolon:=True, Local:=True 但是,当使用 VBA 6.5.1025 在 Excel 2000 9.0.8961 SP1 中运行相同的代码时,