Windows 如何使用.vbs文件以电子表格中指定的名称保存文件

Windows 如何使用.vbs文件以电子表格中指定的名称保存文件,windows,vbscript,Windows,Vbscript,我正在进行一些.vbs编码,其中我想打开一个现有模板文件,对其进行一些更改,然后使用单元格B2中指定的文件名“另存为” Set objExcel = CreateObject("Excel.Application") FileDirectory = "C:\Users\j128\Desktop\" FileName = "TEMPLATE.xlsx" Set objWorkbook = objExcel.Workbooks.Open(FileDirectory+FileName) objE

我正在进行一些.vbs编码,其中我想打开一个现有模板文件,对其进行一些更改,然后使用单元格B2中指定的文件名“另存为”

Set objExcel = CreateObject("Excel.Application")

FileDirectory = "C:\Users\j128\Desktop\"
FileName = "TEMPLATE.xlsx"

Set objWorkbook = objExcel.Workbooks.Open(FileDirectory+FileName)

objExcel.Visible = True
objExcel.Cells(2,2).value = "Variable" 'Changes will occur in this section

ActiveWorkbook.SaveAs Filename = cells(2,2).value 'This is where problems occur
我意识到我已经可以使用宏来命名Excel文件,并在单元格中指定值。但是,我计划使用这个.vbs文件,使用电子表格中指定的值命名其他文档类型

谢谢你的帮助


显然,这可能是不可能的:


我还尝试使用sendkeys选择“另存为”,但在命名新文件时,它会出现问题。

如果您不想实际显示“另存为”对话框,只想将活动文件保存为特定文件名,请查看工作簿.SaveCopyAs()函数。那可能对你有用

谢谢您的回复。我会调查一下的

我尝试过的另一件事是简单地复制和重命名文件:

Set WSHShell = CreateObject("Wscript.Shell")
CurrentDirectory = WSHShell.CurrentDirectory & "\"

Template = "TEMPLATE.xlsx"
NewFile = "New File.xlsx"

Set objFSO = CreateObject("Scripting.FileSystemObject")
' First parameter: original location&file
' Second parameter: new location&file
objFSO.CopyFile CurrentDirectory&Template, CurrentDirectory&NewFile
我现在需要的是能够动态地将“NewFile”设置为另一个电子表格中的一个单元格

编辑:很明显,类似这样的内容将允许我在其他单元格中指定“NewFile”输入:

value1 = xlSht.Cells(2, 1) 'Example of how to specify a value as equal to the value in cell A2
请注意,“xlSht”应该在前面指定