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