Passar variável do lote para o VBS

Oi, eu estou tentando passar uma variável de entrada do usuário de um script BAT para VBS

Tenho certeza de que isso pode ser feito no VBS, mas a entrada "Nome do arquivo" do usuário também é usada posteriormente no arquivo BAT

Como você pode ver o"Nome do arquivo" A variável na seção .bat precisa ser passada para o script VBS para o caminho do arquivo ("C: \ Users \ bob \ Documents \ %Nome do arquivo%".Bastão)

VBS:

set /p FileName= Enter Filename Including Extention e.g. test.xlsx

Eu não recomendaria passar informações de um script para outro por meio de variáveis de ambiente. Suponho que você esteja executando o VBScript a partir do script em lote? Nesse caso, você pode simplesmente passar o nome do arquivo como argumento para o VBScript:

Set xlObj = CreateObject("Excel.Application")
Set xlFile = xlObj.WorkBooks.Open("C:\Users\xxx\Documents\%FileName%")
'turn off screen alerts
xlObj.Application.DisplayAlerts = False
'loop through sheets
For Each Worksheet In xlFile.Worksheets 
'change sheet to desired worksheet name
If Worksheet.Name = "Old111" Then
Worksheet.Name = "NewName111"
End if
Next
'save, close, then quit
xlFile.Close True
xlObj.Quit

questionAnswers(3)

yourAnswerToTheQuestion