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文件。

运行结果,只能保存第一个,第二个文件开始不能更名,导致保存覆盖
请问哪儿出错了,应该怎么修改
展开
 我来答
一点设计演示
高粉答主

2015-09-02 · 职场/教育各类模板,衷于原创
一点设计演示
采纳数:874 获赞数:83614

向TA提问 私信TA
展开全部

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.到这里,一键功能即完成了。

姓王的wy451

2015-04-02 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8915万
展开全部
f = Dir(folder & "*.txt")
myfile = Dir
f 和 myfile 两个变量混淆了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
世界喜欢不一样
2015-04-02 · TA获得超过2374个赞
知道大有可为答主
回答量:1546
采纳率:50%
帮助的人:638万
展开全部
把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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crazy0qwer
2015-04-02 · TA获得超过3301个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1321万
展开全部
抱歉,看错了。
myfile=dir 改为 f=dir
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式