Dim X2 As New Excel.Application
X2.Workbooks.Open App.Path & "\ycsf.xlt"
X2.Worksheets("sheet1").Range("b4") = DTP2.Value & " 至 " & DTP4.Value
i = 1
Do While i <= MS1.Rows - 1
If MS1.TextMatrix(i, 1) = "" And MS1.TextMatrix(i, 2) = "" And MS1.TextMatrix(i, 3) = "" And MS1.TextMatrix(i, 4) = "" And MS1.TextMatrix(i, 5) = "" Then Exit Do
X2.Worksheets("sheet1").Range("A" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 1))
X2.Worksheets("sheet1").Range("B" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 2))
X2.Worksheets("sheet1").Range("C" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 3))
X2.Worksheets("sheet1").Range("d" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 4))
X2.Worksheets("sheet1").Range("e" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 5))
X2.Worksheets("sheet1").Range("f" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 6))
X2.Worksheets("sheet1").Range("g" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 7))
X2.Worksheets("sheet1").Range("h" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 8))
X2.Worksheets("sheet1").Range("i" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 9))
i = i + 1
Loop
谁能给我解释一下这段语句?还有关于vb中excal的应用也麻烦给我说说
Dim X2 As New Excel.Application’引用Excel应用程序
X2.Workbooks.Open App.Path & "\ycsf.xlt"‘调用文件路径
X2.Worksheets("sheet1").Range("b4") = DTP2.Value & " 至 " & DTP4.Value‘插入第四行查询时间段值到EXCEL
i = 1
'循环数据行
Do While i <= MS1.Rows - 1
'判断数据集中前五列是否都为空,如果都为空则退出否则向EXCEL中插入数值
If MS1.TextMatrix(i, 1) = "" And MS1.TextMatrix(i, 2) = "" And MS1.TextMatrix(i, 3) = "" And MS1.TextMatrix(i, 4) = "" And MS1.TextMatrix(i, 5) = "" Then Exit Do
‘从第五行开始赋值
X2.Worksheets("sheet1").Range("A" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 1))'第五行第一列赋值
X2.Worksheets("sheet1").Range("B" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 2))'第五行第二列赋值
X2.Worksheets("sheet1").Range("C" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 3))’以此类推
X2.Worksheets("sheet1").Range("d" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 4))
X2.Worksheets("sheet1").Range("e" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 5))
X2.Worksheets("sheet1").Range("f" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 6))
X2.Worksheets("sheet1").Range("g" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 7))
X2.Worksheets("sheet1").Range("h" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 8))
X2.Worksheets("sheet1").Range("i" & Trim(Str(5 + i))) = Trim(MS1.TextMatrix(i, 9))
i = i + 1
Loop
你这段代码不是完整的
不过应该就是把表格控件的数据,填入excel中
在表格中循环所有行,当前5列数据位空的时候也结束循环
然偶后将表格控件每行数据填入excel表的每列中(行列倒置了下)
office的功能基本都可以用vb操作,当然操作文档是非常庞大的,不是几句话能说清