Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用vbscript冻结excel中的顶行_Excel_Vba_Vbscript - Fatal编程技术网

如何使用vbscript冻结excel中的顶行

如何使用vbscript冻结excel中的顶行,excel,vba,vbscript,Excel,Vba,Vbscript,我使用这个脚本打开csv文件,并将它们作为xls文件保存在另一个目录中 我还想再增加一个功能-我想释放最上面的一行,这样当我向下滚动时,它保持不变。我该怎么做 Dim app, fso, file, fName, wb, dir dir = "D:\TA\" dirsave = "D:\TA\XLS" Set app = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject

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

我还想再增加一个功能-我想释放最上面的一行,这样当我向下滚动时,它保持不变。我该怎么做

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
试试这个


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

App.application与本例中的App相同;只需使用应用程序

可视和显示警报可以在for循环之前执行一次

使用变量wb代替app.active工作簿

在另存为之前,使用这两行;在第一行前面加上wb.worksheets(1),在第二行前面加上“app.”

考虑保存为xlsx而不是xls

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

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