VBS InputBox, вывод без расширения файла - PullRequest
0 голосов
/ 29 октября 2018

У меня есть два запроса, которые должны заполнять пользователи.

Цель состоит в том, чтобы пользователь заполнил обе подсказки, и выходные данные должны получить комбинацию обеих в качестве имени файла.

Например, Пользователь вводит в первый InputBox «Ryan» и во второй InputBox «Smith». Поэтому на выходе должен быть файл с именем «Ryan_Smith», но без расширения файла.

В настоящее время он сохраняется в выходном файле "edit.txt", потому что я не знаю, как это сделать, как я хочу.

Sub MyInputBox()
    Do
        firstNameInput = InputBox("First Name")
    Loop Until firstNameInput <> ""

    Do
        lastNameInput = InputBox("Second Name")
    Loop Until lastNameInput <> ""

    RootFolder = Ws.ExpandEnvironmentStrings("%USERPROFILE%\Desktop")
    MyFile = RootFolder & "\Edit.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fileStream = fso.OpenTextFile(MyFile,ForAppending,True)
    fileStream.WriteLine "First Name: " & firstNameInput
    fileStream.WriteLine "Second Name: " & lastNameInput
    fileStream.WriteLine String(30,"*")
    fileStream.Close
End Sub

Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
End Function

1 Ответ

0 голосов
/ 29 октября 2018

Вы можете использовать CreateTextFile для ваших целей.

В примере:

Sub MyInputBox()
    dim WshShell, firstNameInput, lastNameInput, fso, fileStream, MyFile, RootFolder
    set WshShell = WScript.CreateObject("WScript.Shell")
    Do
        firstNameInput = InputBox("First Name")
    Loop Until firstNameInput <> ""

    Do
        lastNameInput = InputBox("Second Name")
    Loop Until lastNameInput <> ""

    RootFolder = WshShell.ExpandEnvironmentStrings("%USERPROFILE%\Desktop")
    MyFile = RootFolder & "\" & firstNameInput & "_" & lastNameInput
    '                         ^------------------------------------^----- Notice this filename creation
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fileStream = fso.CreateTextFile(MyFile)
    fileStream.Close
    set WshShell = nothing
    set fso = nothing
    set fileStream = nothing
End Sub

call MyInputBox()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...