VB生成的文件名和文件号怎么对应起来?
现有原始文件:
班级 课程名称 教师
12c1 英语 张三
12c2 英语 张三
12c1 物理 李四
12c2 物理 李四
12w 数学 王五
需要处理的内容是:
1、根据班级名称和教师姓名分别建立文件(.csv格式),文件名为班级名称和教师姓名,输出表头
2、逐条(逐行)读取原始文件,把课程名称输出到相应文件
遇到的问题:
输出时可以指定输出到的文件名,但是文件号不知道怎么对应
为了方便演示,直接把数据赋值给数组a
想要的效果如图:

学生课表和教师课表的文件夹已生成,已按照班级名称和教师名称生成不重复的文件
现在需要在逐条读取原始文件后,把相应信息添加到文件中(如图)
现在能让程序找到文件名,但是不知道怎么对应文件号。
请各位高手指点!
班级 课程名称 教师
12c1 英语 张三
12c2 英语 张三
12c1 物理 李四
12c2 物理 李四
12w 数学 王五
需要处理的内容是:
1、根据班级名称和教师姓名分别建立文件(.csv格式),文件名为班级名称和教师姓名,输出表头
2、逐条(逐行)读取原始文件,把课程名称输出到相应文件
遇到的问题:
输出时可以指定输出到的文件名,但是文件号不知道怎么对应
为了方便演示,直接把数据赋值给数组a
Option Explicit
Option Base 0
Dim a(0 To 5, 1 To 3), b(1 To 5, 1 To 2), c(1 To 5, 1 To 2)
Private Sub Command1_Click()
Dim n As Integer, i As Integer, j As Integer, m As Integer
Dim k As Integer, t As Integer
Dim dic1 As Object, dic2 As Object
a(0, 1) = "班级": a(0, 2) = "课程名称": a(0, 3) = "教师"
a(1, 1) = "12c1": a(1, 2) = "英语": a(1, 3) = "张三"
a(2, 1) = "12c2": a(2, 2) = "英语": a(2, 3) = "张三"
a(3, 1) = "12c1": a(3, 2) = "物理": a(3, 3) = "李四"
a(4, 1) = "12c2": a(4, 2) = "物理": a(4, 3) = "李四"
a(5, 1) = "12w": a(5, 2) = "数学": a(5, 3) = "王五"
Set dic1 = CreateObject("Scripting.Dictionary") '定义班级字典
Set dic2 = CreateObject("Scripting.Dictionary") '定义教师字典
n = 1
For i = 1 To UBound(a, 1)
If Not dic1.Exists(a(i, 1)) Then
dic1.Add a(i, 1), "" '班级加入字典
If Dir(App.Path & "\学生课表", vbDirectory) = "" Then
MkDir App.Path & "\学生课表"
End If
Open App.Path & "\学生课表\" & a(i, 1) & ".csv" For Output As #(n + 1) '打开名称为n+1的文件
Print #(n + 1), "序号,课程" '输出表头
Close #(n + 1)
n = n + 1
End If
Next
m = 1
For j = 1 To UBound(a, 1)
If Not dic2.Exists(a(j, 3)) Then
dic2.Add a(j, 3), "" '教师姓名加入字典
If Dir(App.Path & "\教师课表", vbDirectory) = "" Then
MkDir App.Path & "\教师课表"
End If
Open App.Path & "\教师课表\" & a(j, 3) & ".csv" For Output As #(m + 1) '打开名称为n+1的文件
Print #(m + 1), "序号,课程" '输出表头
Close #(m + 1)
m = m + 1
End If
Next
For t = 1 To UBound(a, 1)
If dic1.Exists(a(t, 1)) Then
p = p + 1
Open App.Path & "\学生课表\" & a(t, 1) & ".csv" For Output As #(p + 1) '打开名称为n+1的文件
Print #(p + 1), p; ", "; b(t, 2)
Close #(p + 1)
End If
If dic2.Exists(a(t, 3)) Then
k = k + 1
Open App.Path & "\教师课表\" & a(t, 3) & ".csv" For Append As #(k + 1) '打开名称为n+1的文件
Print #(k + 1), k; ", "; c(t, 2)
Close #(k + 1)
End If
Next
End Sub想要的效果如图:

学生课表和教师课表的文件夹已生成,已按照班级名称和教师名称生成不重复的文件
现在需要在逐条读取原始文件后,把相应信息添加到文件中(如图)
现在能让程序找到文件名,但是不知道怎么对应文件号。
请各位高手指点!
...全文
相关推荐
提取文件名 VB获取无后缀文件名 VB获取有后缀文件名
选择文件夹提取文件名 VB程序,可以获取无后缀文件名 也可以获取带后缀文件名 ,两种选择,供您选择——大吉利祝您工作愉快~~
VB实现批量文件名修改的教程与源码
本文还有配套的精品资源,点击获取 简介:在Windows环境下,VB编程语言提供了一系列API和对象模型,以简化文件系统操作如批量重命名文件。本文将详细探讨如何利用VB中的 FileSystemObject 来实现批量文件名的修改。通过实例化的 FileSystemObject 对象,我们可以遍历特定文件夹内的文件并根据自定义逻辑进行重命名,最终...
VB脚本实现文件名批量重命名技巧
Visual Basic (VB) 是一种简单易学的编程语言,它以事件驱动和快速开发而闻名。VB 通常用于创建Windows应用程序、网站、数据库和其他软件组件。它因其直观的拖放界面和丰富的库支持而成为初学者的理想选择。对象是VBScript和某些Microsoft编程语言中的一个内置对象,属于Windows Script Host的一部分。它提供了一组方法和属性,使得开发者能够对计算机的文件系统进行编程控制。通过,可以执行包括创建、读取、修改、删除文件和文件夹,以及搜索文件系统中的文件等操作。
VB做的批量修改文件名
VB做的批量修改文件名 VB做的批量修改文件名 VB做的批量修改文件名
VB读取文件名.
VB读取指定文件夹下的所有文件的名字以及属性


VB基础类
