如何使用vbscript在excel中冻结顶部行

我用这个脚本来打开csv文件并将它们保存在另一个目录中作为xls文件。

我还想添加一个function – 我想释放顶部行,以便当我向下滚动时保持不变。 我怎样才能做到这一点?

Dim app, fso, file, fName, wb, dir dir = "D:\TA\" dirsave = "D:\TA\XLS" Set app = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject") For Each file In fso.GetFolder(dir).Files If LCase(fso.GetExtensionName(file)) = "csv" Then fName = fso.GetBaseName(file) Set wb = app.Workbooks.Open(file) app.Application.Visible = True app.Application.DisplayAlerts = False app.ActiveWorkbook.SaveAs dirsave & "\" & fName & ".xls", 56 app.ActiveWorkbook.Close app.Application.DisplayAlerts = True app.Application.Quit End if Next 

试试这个答案

 Rows("1:1").Select ActiveWindow.FreezePanes = True 

您当前的代码不能用于多个文件。

在这种情况下,App.application与app相同; 只使用应用程序。

可见和displayalerts可以在for循环之前完成一次。

而不是app.activeworkbook,使用variableswb。

在保存之前,使用Stephen提供的两行; 第一行加上wb.worksheets(1),第二行加上“app。”。

考虑保存为xlsx而不是xls。

重置displayalerts和app.quit应该在for循环之后。