- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为 VBA 的初学者,我正在尝试临时学习大部分内容,所以请原谅我的灰尘。
我正在编写一个子例程,用于读取文本文件中的行。每行均以空格分隔,并以 ' 作为文本标识符。我要求将每一行作为多维数组分成多个字段。
Sub ReadLines()
Dim LineValues() As String
Dim row As Long, col As Long
Dim DataArray() As String
Dim TempArray() As String
Dim FileContent As String
Dim FilePath As String
FilePath = "c:\mytextfile.txt"
row = 0
TextFile = FreeFile
Open FilePath For Input As TextFile
FileContent = Input(LOF(TextFile), TextFile)
Close TextFile
LineValues = Split(FileContent, vbCrLf)
For X = LBound(LineValues) To UBound(LineValues)
If Len(Trim(LineValues(X))) <> 0 Then
DataArray = Split(LineValues(X), "'")
col = UBound(DataArray)
TempArray = DataArray
ReDim DataArray(col, row)
For i = LBound(TempArray) To UBound(TempArray)
DataArray(i, row) = TempArray(i)
Next i
End If
row = row + 1
Next X
在与 ReDim Preserve 的多维问题进行斗争后,我找到了这段代码。 (只能修改最后一个维度)我的文本文件中的多维数组将具有未知的列和行,具体取决于用户输入。
这段代码正确地执行了该过程...但只是无法正确存储数组元素!上面的目的是在 ReDim(并清空)我感兴趣的数组 (DataArray) 时使用临时数组 (TempArray),然后将最初从 DataArray 中的元素复制回调整大小的维度。
但是,当单步执行代码时,我可以看到每一行都被正确放置,但随后在该行的每次迭代中被删除, DataArray = Split(LineValues(X), "'")
我本质上有一个矩阵,其大小由总行数决定,但仅由最后一行的列数(并且仅最后一行的值)决定。
我知道为什么会发生这种情况,但是这里有人能提出解决方案吗?作为初学者,这有点让人抓狂!
编辑,完整问题描述
为了充分澄清,这是一个子例程,我将作为读取包含不相关数据的文本文件的脚本的一部分来调用。这个文本文件看起来有点像这样,(引用文献的模糊性是故意的)
'<irrelevant text I want to ignore until seeing pattern 'NumberOfVariables?'>
...
...
NumberOfVariables?
NUMBEROFVARIABLES
'for the end user, I need to be able to pull information from each of these fields assigned to a variable to create strings as headers as per a specific format
'note that variable and variable type
Variable#1 VARIABLETYPE Location? LOCATION UNITS DESCRIPTION 'text for each field is enclosed as follows '' (code formatting on site prevents me doing this)
Variable#2 VARIABLETYPE Location? LOCATION UNITS DESCRIPTION
...
Variable#NUMBEROFVARIABLES
' from here there is a column of data that is assigned to each variable such that
Variable#1Element1 Variable#2Element1 'etc until #NUMBEROFVARIABLES
Variable#1Element2 Variable#2Element2
Variable#1Element3 Variable#2Element3
Variable#1FinalElement Variable#2FinalElement
主要目标是使用原始帖子中的脚本来获取多维矩阵中的这些字段,然后我可以根据某些条件语句使用这些字段来根据最终用户的需求获取标题字符串。
从这里我会找到一种方法,使数据列与每个变量相匹配,以便可以将其自动输入到 Excel 中。
更进一步的是某种带下拉菜单的 MsgBox,它可以选择要复制的变量,但在我现在的开发阶段,这只是天上掉馅饼!
最佳答案
试试这个。我没有测试过:
Sub ReadLines()
Const FilePath$ = "c:\mytextfile.txt"
Dim iFile%, c&, i&, j&, k&, Content$, Lines, Temp, Data
c = 499
Open FilePath For Input As #iFile
Content = StrConv(InputB(LOF(iFile), iFile), vbUnicode)
Close #iFile
Lines = Split(Content, vbCrLf)
ReDim Data(0 To UBound(Lines), 0 To c)
For i = 0 To UBound(Lines)
If Len(Trim$(Lines(i))) Then
Temp = Split(Lines(i), "'")
If k < UBound(Temp) Then k = UBound(Temp)
If k > c Then
c = k * 2
ReDim Preserve Data(0 To UBound(Lines), 0 To c)
End If
For j = 0 To UBound(Temp)
Data(i, j) = Temp(j)
Next
End If
Next
ReDim Preserve Data(0 To UBound(Lines), 0 To k)
End Sub
关于arrays - 填充临时数组以避免在动态多维数组上使用 Preserve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761314/
作为 VBA 的初学者,我正在尝试临时学习大部分内容,所以请原谅我的灰尘。 我正在编写一个子例程,用于读取文本文件中的行。每行均以空格分隔,并以 ' 作为文本标识符。我要求将每一行作为多维数组分成多个
关注此 tutorial about C and gdb .这当然是一个有用的教程,但他们从这样的例子开始: (gdb) print a $1 = {1, 2, 3} (gdb) ptype a ty
我正在看别人的vba excel代码。他们在两个循环中都执行 ReDim Preserve dataMatrix(7, i) 。这是做什么的? 另外,第二个循环似乎只是覆盖了第一个循环中的数据,对吗?
我正在使用谷歌浏览器和 React.js。 编辑:这是一个带有纯 css 的 jsfiddle: https://jsfiddle.net/4jkvag25/ 我有与教程完全相同的代码,但仍然无法正常
在 python 中的代码是: list = "a123,145B,12" re.split("[a-zA-Z_]",list) 结果: ['', '123,145', ',12'] 我怎样才能保留字
我正在读取一个 XML 文件,其中有“纯空白文本节点”: I love Mozart. 在上面的(简化的)示例中,结束标记和开始标记之间有空格(一个空格)。我需要保留那个空间。 在 RapidXML
考虑这段代码(引自 geeksforgeeks.org,作者 Tushar Roy)如果从根到叶的路径具有总和为指定值的键,则计算真或假: bool hasPathSum(struct node* n
我的网页中有一个 div contenteditable。当您在 div contenteditable 中键入一些文本时,文本会在隐藏的文本区域中重现以进行后期处理(表单 method="post"
我需要从处理 .txt 期间生成的变量值填充数组文件。然而,上限取决于输入线。我怎样才能使以下事情起作用? Dim myArr As Variant ReDim Preserve myArr(1)
我有 myfile.ps包括矢量图像。 但是当我跑 ps2pdf myfile.ps 输出页面大小似乎是A4:矢量图像太大而被切掉,因此大约丢失了一英寸。 除了原始矢量图像外,输出 PDF 文件中还会
我有一个自定义的NSView,用于显示背景颜色。这有效。但是,该图像中的阴影未保留。 图像的所有透明或半透明区域都呈现为黑色。我该如何解决这个问题? - (void)drawRect:(NSRect)
如何默认启用 Chrome 开发者工具中网络工具中的“保留日志”?每次我按 F12 然后选择“网络”选项卡时,我需要单击“保留日志”复选框以使其保留请求/响应。是否可以默认一直检查? 顺便说一句,此功
一方面,维基百科写了乱序执行的步骤: Instruction fetch. Instruction dispatch to an instruction queue (also called inst
这是引用this question 。 我想重命名大型数据框中的列子集。我希望以下代码将列 X4、X5、X6 和 X7 重命名为 gradek分别为 、grade1、grade2 和 grade3:
我有以下代码将图像(位图)转换为字节数组: public byte[] ConvertImageToByteArray(Image imageToConvert, ImageFormat format
简介 我经常使用 Google Closure Compiler 来压缩我的 JavaScript 文件。现在,它似乎很好地压缩了我的代码。 现在,我尝试养成将this 对象存储在局部变量中的习惯,因
我正在尝试将 MySQL 表数据导出到 MongoDB,在 Rails 中创建一组“Create”语句。 我的问题是:在我的原始表中,我有“created_at”和“updated_at”字段,即使我
我今天做了一些实验,发现问题归结为 transform: rotateY(180deg) 和使用 transform-style: preserve-3d 的容器旋转。我将再次描述细节。原始问题在下面
希望在这里得到一些意见。 在我当前的 iOS 项目中,我使用 CoreBluetooth 和 swift。该应用程序可以在后台使用 CoreBluetooth 进行通信,这基本上可以正常工作。外围设备
我正在使用 xlrd 和 xlwt 遍历某些单元格并根据某些条件检查它们。如果他们符合我继续的标准,如果不符合,我想将文本涂成红色。不同单元格的格式会发生变化,有些具有背景颜色,有些是粗体,有些大小不
我是一名优秀的程序员,十分优秀!