excel vba打开文件 并且获得文件名 保存
SubMacro1()DimfAsString,folderAsString,NAsStringfolder="C:\Users\Administrator\Deskto...
Sub Macro1()
Dim f As String, folder As String, N As String
folder = "C:\Users\Administrator\Desktop\4kW\"
f = Dir(folder & "*.txt")
Do Until Len(f) = 0
Workbooks.OpenText folder & f
N = ActiveWorkbook.Name
ActiveWorkbook.SaveAs "C:\Users\Administrator\Desktop\4kW\1\" & N & ".xlsx", FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close Savechanges:=True
myfile = Dir
Loop
End Sub
以上代码目的:依次打开txt文件,获得该txt文件的文件名,保存为同名的excel文件。
运行结果,只能保存第一个,第二个文件开始不能更名,导致保存覆盖
请问哪儿出错了,应该怎么修改 展开
Dim f As String, folder As String, N As String
folder = "C:\Users\Administrator\Desktop\4kW\"
f = Dir(folder & "*.txt")
Do Until Len(f) = 0
Workbooks.OpenText folder & f
N = ActiveWorkbook.Name
ActiveWorkbook.SaveAs "C:\Users\Administrator\Desktop\4kW\1\" & N & ".xlsx", FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close Savechanges:=True
myfile = Dir
Loop
End Sub
以上代码目的:依次打开txt文件,获得该txt文件的文件名,保存为同名的excel文件。
运行结果,只能保存第一个,第二个文件开始不能更名,导致保存覆盖
请问哪儿出错了,应该怎么修改 展开
展开全部
1.首先,来看如何使用VBA打开Office中的软件程序(以Word为例)。
2.在Excel文件中创建一个新的宏。
3.方法是:
点击宏录制按钮。
4.或者点击“开发工具”选项卡中的“录制宏”
5.重命名一下宏名称"一键运行软件",然后点击确定。
6.然后点击“停止录制”
7.或者点击左下角的停止按钮。
8.然后点击“开发工具”中的“插入”
9.点击按钮图标
10.然后在Excel空白单元格处画出按钮图标。
11.鼠标选中“一键运行软件”,然后点击“编辑”
12.在VBA代码处,输入代码
Application.ActivateMicrosoftApp xlMicrosoftWord
13.然后保存关闭VBE代码编辑器。
14.然后回到Excel中,右击按钮图标,点击“编辑文字”
15.到这里,一键功能即完成了。
展开全部
f = Dir(folder & "*.txt")
myfile = Dir
f 和 myfile 两个变量混淆了
myfile = Dir
f 和 myfile 两个变量混淆了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把Do Until Len(f) = 0改成Do Until f=""试试
追问
不行的 我那个写法和你这个是一个意思 不是我需要解决的问题
追答
Sub Macro1()
Dim f As String, folder As String, AK As Workbook
folder = "E:\test\"
f = Dir(folder & "*.txt")
Do While f <> ""
Set AK = Workbooks.Open(Filename:=folder & f)
AK.SaveAs folder & Left(f, Len(f) - 4) & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close Savechanges:=True
f = Dir
Loop
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
抱歉,看错了。
myfile=dir 改为 f=dir
myfile=dir 改为 f=dir
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询