Vba Excel从.xlsm文件扩展名另存为.xlsx

Vba Excel从.xlsm文件扩展名另存为.xlsx,vba,excel,vbscript,Vba,Excel,Vbscript,我正在尝试编写一个VBScript来打开excel。 运行宏并将其另存为xlsx。发布此日志并关闭excel文档 请原谅我的VBScript知识,因为我还是新手,缺乏VBScript的详细知识 然而,这是很重要的,我写的这段代码不能帮助我 Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("C:\Users\Desktop\Report

我正在尝试编写一个VBScript来打开excel。 运行宏并将其另存为xlsx。发布此日志并关闭excel文档

请原谅我的VBScript知识,因为我还是新手,缺乏VBScript的详细知识

然而,这是很重要的,我写的这段代码不能帮助我

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\Desktop\Report0165.xlsm")

objExcel.Application.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "Test value"

objExcel.Application.Run "Report0165.xlsm"
objExcel.ActiveWorkbook.SaveAs "Report0165.xlsx", FileFormat = 51
objExcel.ActiveWorkbook.Close saveChanges=True

objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit
我正在尝试,但仍然无法完成这项基本任务:我需要执行excel中的所有宏。因此,我没有指定宏名称

a。用宏打开excel

b。运行宏

c。将xlsm保存到xlsx

d。关闭文档


有人能告诉我哪里出了问题。

除了在我的测试中,这段代码应该能让你到达那里。它在禁用宏的情况下打开了
xlsm

  • 请注意,我已经改变了路径
  • 你不知道;自动化时不需要使Excel可见
  • 当您覆盖
    Report0165.xlsx
  • FileFormat
    不能在vbs中使用
  • 您的代码没有指定要在
    Report0165
更新为OP不想要问题中添加的新书
objExcel.Workbooks.Add


谢谢..但是我无法指定宏名称。我希望excel中的所有宏都能运行。代码不起作用。它只是在写一个包含“测试值”内容的新文件。。我希望将相同的xlsm另存为xlsx。代码正在重复您的问题所执行的添加新工作簿的相同步骤。我会更新我的答案,但是你的问题不是你想问的。好的。。我从某个链接获得了代码,并试图执行相同的代码。请原谅我的VB知识,因为我不知道很多东西。我真正想要的是打开excel,运行宏,将excel另存为xlsx..我粘贴的代码片段可能不正确,因为我仍在思考如何执行这些基本步骤。提前谢谢。@Angels和Demons没问题。修改后的代码如何运行(除了运行代码?)
*code*


    Set objexcel = CreateObject("Excel.Application")
    Set objWorkbook = objexcel.Workbooks.Open("C:\temp\Report0165.xlsm")

    'Objexcel.Application.Visible = True
    Objexcel.DisplayAlerts = false
    objWorkbook.Sheets(1).Cells(1, 1).Value = "Test value"

    'objExcel.Run "Report0165.xlsm!Test"
    objWorkbook.SaveAs "C:\temp\Report0165.xlsx", 51
    objWorkbook.Close

    Objexcel.DisplayAlerts = true

    objexcel.Application.Quit
    WScript.Echo "Finished."
    WScript.Quit