繁体   English   中英

使用VBA中的FieldInfo动态格式化Workbook.OpenText上的列

[英]Dynamically format columns on Workbook.OpenText using FieldInfo in VBA

我正在VBA中编写一个程序来open文本文件。 我想format单元格文本on open持之以恒数据(问题:长数串被转换成数字,截断)。

通过研究,我了解到可以使用.OpenTextFieldInfo参数完成此操作。

当前在互联网上运行的所有示例都是静态的,需要程序员在FieldInfo:=Array(Array(1,2),Array(2,2).....Array(n,2)进行硬编码。

这是我最接近答案的方法,但这也不起作用。 http://www.excelforum.com/excel-general/522433-workbooks-opentext-method-fieldinfo-parameter.html 它给我一个1004错误。 这是我的版本:

Dim colInfo(1 To 1000,1 To 2)
For i = 1 To 1000
    colInfo(i , 1) = i
    colInfo(i , 2) = 2
Next i

我在Array上找不到任何vba文档。 如果我能弄清楚如何创建一个Array变量而不是Dim x() As y ,那么我可以解决这个问题。 任何帮助将不胜感激!

Array函数仅返回一个变体-这只是初始化的一种快速方法。 因此,您可以只创建其中之一,然后将其作为参数传递。 例如:

Sub abc()

Dim v1 As Variant, v2 As Variant

v1 = Array(1, 2, 3)

ReDim v2(3)
v2(0) = 1
v2(1) = 2
v2(2) = 3

MsgBox v1(0) & vbTab & v2(0) & vbCr & v1(1) & vbTab & v2(1) & vbCr & v1(2) & vbTab & v2(2)

End Sub

这两个数组(v1和v2)相同。

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM