在文件夹中的所有工作簿中循环使用vba函数
我想循环浏览文件夹中的所有工作簿,提取名为“Sheet Name”的工作表,并将它们保存为.csv文件,并使用它们的源文件名。做这件事的快捷方法是什么 有关vba函数的示例:在文件夹中的所有工作簿中循环使用vba函数,vba,excel,Vba,Excel,我想循环浏览文件夹中的所有工作簿,提取名为“Sheet Name”的工作表,并将它们保存为.csv文件,并使用它们的源文件名。做这件事的快捷方法是什么 有关vba函数的示例: Sub Sheet_SaveAs() Dim wb As Workbook Sheets("Sheet Name").Copy Set wb = ActiveWorkbook With wb .SaveAs ThisWorkbook.Path & "\" & ThisW
Sub Sheet_SaveAs()
Dim wb As Workbook
Sheets("Sheet Name").Copy
Set wb = ActiveWorkbook
With wb
.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.name, FileFormat:=xlCSV
'.Close False
End With
End Sub
非常感谢您的关注
编辑:不是重复的,因为我正在从多个工作簿中提取工作表,而不是从单个工作簿中提取多个工作表
编辑2:谢谢大家。诸如此类
更改此路径以适合您的文件夹
strFolder = "c:\temp"
代码
像这样的
更改此路径以适合您的文件夹
strFolder = "c:\temp"
代码
可能重复我认为你是对的,尽管我尝试了标记为answer的代码,但我得到一个错误,我的文件可能已损坏或只读,这是我以前没有得到的。•在vbscript中不能使用xlCSV等命名常量,因此使用下面的6作为CSV格式~对于objWB.Sheets objws.Copy objExcel.ActiveWorkbook.SaveAs objWB.Path&“\”&objws.Name&“.csv”中的每个objws,6 objExcel.ActiveWorkbook.Close False Next~然后重试请在我之前测试过的帖子中尝试@brettdj代码,它是有效的。你提到的解决方案不适用于在一个文件夹中跨多个工作簿进行复制;我认为它们适用于工作簿中的多个工作表。可能的重复我认为您是对的,尽管我尝试了标记为“答案”的代码,但我得到一个错误,即我的文件可能已损坏或只读,这是我以前没有得到的。•您不能在vbscript中使用xlCSV等命名常量,因此使用下面的6作为CSV格式~对于objWB.Sheets objws.Copy objExcel.ActiveWorkbook.SaveAs objWB.Path&“\”&objws.Name&“.csv”中的每个objws,6 objExcel.ActiveWorkbook.Close False Next~然后重试请在我之前测试过的帖子中尝试@brettdj代码,它是有效的。你提到的解决方案不适用于在一个文件夹中跨多个工作簿进行复制;我认为它们适用于工作簿中的多个工作表。