下面是根据你的要求编写的VBA代码,实现对两种文件路径进行处理并填写信息的功能:
Sub ProcessFiles() Dim filePath1 As String Dim filePath2 As String Dim fileName1 As String Dim fileName2 As String Dim wb As Workbook Dim ws As Worksheet Dim targetSheetName As String Dim targetColumn As Range ' 设置文件路径 filePath1 = "C:\Folder\subfolder\filexx.xlsx" filePath2 = "C:\Folder\subfolder\filea.xlsx" ' 提取文件名 fileName1 = Replace(Mid(filePath1, InStrRev(filePath1, "\") + 1), "xx", "12") fileName2 = Mid(filePath2, InStrRev(filePath2, "\") + 1) ' 打开文件并进行填写操作 Set wb = Workbooks.Open(filePath1) targetSheetName = "学生" Set targetColumn = wb.Sheets(targetSheetName).Range("A1") targetColumn.Value = "学生信息" ' 在这里继续填写其他信息 wb.Close SaveChanges:=True Set wb = Workbooks.Open(filePath2) targetSheetName = "学生" Set targetColumn = wb.Sheets(targetSheetName).Range("A1") targetColumn.Value = "学生信息" ' 在这里继续填写其他信息 wb.Close SaveChanges:=True MsgBox "完成操作!" End Sub
上述代码的主要部分如下:
Replace
函数:用于替换字符串中指定的子字符串。Workbooks.Open
方法:用于打开工作簿文件。wb.Sheets(targetSheetName)
:表示目标Sheet。Range
属性:返回一个范围对象。Range("A1")
:表示A1单元格的范围。targetColumn.Value
:将值写入目标列。wb.Close SaveChanges:=True
:关闭工作簿并保存更改。
首先,我们提取了文件名,对于filePath1,使用Replace
函数将"xx"替换为"12"得到fileName1,对于filePath2,直接提取出fileName2。然后,分别打开两个工作簿文件,找到名为"学生"的Sheet,并在该Sheet上进行信息填写操作。在这里你可以继续根据你的实际需求,在对应的位置填写其他信息。最后,关闭工作簿并保存更改。
请注意,在运行该代码之前,请确保文件路径和操作的Sheet名称是正确的,并且拥有合适权限以打开和修改相关文件。