VB生成的文件名和文件号怎么对应起来?

a1ways1010 a1ways1010 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现有原始文件:
班级 课程名称 教师
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程序,可以获取无后缀文件名 也可以获取带后缀文件名 ,两种选择,供您选择——大吉利祝您工作愉快~~

lfxedu

VB实现批量文件名修改的教程与源码

本文还有配套的精品资源,点击获取 简介:在Windows环境下,VB编程语言提供了一系列API和对象模型,以简化文件系统操作如批量重命名文件。本文将详细探讨如何利用VB中的 FileSystemObject 来实现批量文件名的修改。通过实例化的 FileSystemObject 对象,我们可以遍历特定文件夹内的文件并根据自定义逻辑进行重命名,最终...

大熊小清新

VB脚本实现文件名批量重命名技巧

Visual Basic (VB) 是一种简单易学的编程语言,它以事件驱动和快速开发而闻名。VB 通常用于创建Windows应用程序、网站、数据库和其他软件组件。它因其直观的拖放界面和丰富的库支持而成为初学者的理想选择。对象是VBScript和某些Microsoft编程语言中的一个内置对象,属于Windows Script Host的一部分。它提供了一组方法和属性,使得开发者能够对计算机的文件系统进行编程控制。通过,可以执行包括创建、读取、修改、删除文件和文件夹,以及搜索文件系统中的文件等操作。

君子心理

VB做的批量修改文件名

VB做的批量修改文件名 VB做的批量修改文件名 VB做的批量修改文件名

goodfiy

VB读取文件名.

VB读取指定文件夹下的所有文件的名字以及属性

呼啸的鹰
评论 1
收藏 已收藏
分享
返回顶部
a1ways1010
VB基础类 7,788 成员 197,583 内容