Как в VB прочитать строку параметров программы?

  • Автор темы Автор темы Andre_hard
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Andre_hard

Участник
Топикстартер
Сообщения
15
Реакции
0
Делаю программу, которая помещает в публикацию вордовский файл с предварительной обработкой. Программа запускается по правой кнопке мыши с указанием имени файла и соответствующего действия в проводнике. Для этого программа должна прочитать имя файла как параметр. Но не смог найти способ как прочитать строку параметров программы в VB. Аналогично как это делается в Паскале при помощи функции ParamStr(i). Подскажите если знаете. Спасибо.
 
Ответ: Как в VB прочитать строку параметров программы?

Наконец откопал. Функция которая читает строку параметров аналогичная ParamStr() это Comand() или Comand$()
 
Ответ: Как в VB прочитать строку параметров программы?

Можно так еще -
If WScript.Arguments.Count <> 1 Then
WScript.Quit
Else
MsgBox WScript.Arguments(0)
End If
 
Ответ: Как в VB прочитать строку параметров программы?

В винде. Обратите внимание на синтаксис передачи имени файлов содержащих пробелы. Если в имени файла есть пробелы, это имя заключается в кавычки. there are a spaces.doc - "there are a spaces.doc" При этом разделитель имен файлов - пробел. Если передается список, то те файлы которые без пробелов передаются без кавычек, с пробелами - в кавычках. Приходится разбираться. Я так сделал (только у меня папки, а не файлы):

Код:
Dim s As String
Dim strArgs() As String
Dim sChar As String
Dim sWord As String
Dim sDelimit As String
Dim trig As Boolean

s = Command$
If s = "" Then Me.Visible = True: Exit Sub

' ---------------- restore all folder's paths
sDelimit = vbNullChar
For j = 1 To Len(s)
    sChar = Mid(s, j, 1)
    If Not sChar = """" Then
        sWord = sWord & IIf((sChar = " "), sDelimit, sChar)
    Else
        trig = Not trig
        sDelimit = IIf(trig, " ", vbNullChar)
    End If
Next j
strArgs = Split(sWord, vbNullChar)

Далее спокойно разбираетесь с массивом strArgs.
 
Статус
Закрыто для дальнейших ответов.