Тема: Как послать в CommandLine текст, содержащий пробел?

Имя листа содержит пробел. В команде Plot можно указать имя листа с пробелом, если писать руками. А в VBA?
В форуме искал по словам "пробел" и CommandLine. Искать непосредственно пробел прошу не предлагать :)

Re: Как послать в CommandLine текст, содержащий пробел?

Если не срабатывает сразу, попробуй предварительно выставить texteval в 1 (хотя поможет ли, не знаю).

Re: Как послать в CommandLine текст, содержащий пробел?

Попробуйте заключить имя листа в кавычки типа "лапки".
Вы какой синтаксис используете?
ThisDrawing.SendCommand "-plot ..." ?

Re: Как послать в CommandLine текст, содержащий пробел?

> zagzag
Вопрос звучит так, будто Вы спрашиваете можно ли в VBA "указать имя листа с пробелом, если писать руками". Т.е. совешенно непонятно, что и с чем вы собираетесь делать.
Сформулируйте ясней и, я полагаю, получите полноценный ответ.

Re: Как послать в CommandLine текст, содержащий пробел?

kpblc, Вы, как всегда, меня вытягиваете! Все работает. Проблема - из-за моего незнания Autocad.
Код на VBA получился такой:
' запоминаем, чтобы вернуть
v1 = doc.GetVariable("texteval")
' отключаем пробел как команду
doc.SetVariable "texteval", CInt(0)
' формируем команду, где в lt.Name позволительно иметь пробелы; все параметры вводим через Enter
doc.SendCommand "-ПЕЧАТЬ" & vbCr & "Н" & vbCr & lt.Name & vbCr & "LA3" & vbCr & vbCr & "Н" & vbCr & "Н" & vbCr & "Д" & vbCr
' вертаем взад состояние переменной
doc.SetVariable "texteval", CInt(v1)
Спасибо!

Re: Как послать в CommandLine текст, содержащий пробел?

Пока я писал, еще два ответа :)

> Александр Бауск
Да, этот синтаксис, -plot. Я пробовал кавычки, но они включались в имя, и лист не находился. Я начал подозревать, что есть спецсимвол (может, в скобки, может, в квадратные скобки); не смог составить строку поиска в хелпе...
А в интеракивном вводе команды при запросе имени листа пробелы вводить можно - это я и назвал "ручками".
Спасибо.

Re: Как послать в CommandLine текст, содержащий пробел?

> zagzag
Эти функции возвращают пробел: Space(1) и Chr$(32)

Re: Как послать в CommandLine текст, содержащий пробел?

На всякий случай:
вот функция, которая умеет считать пробел как пробел и как Enter
RetVal = GetString(HasSpaces[, Prompt])
HasSpaces:
TRUE: The return string can contain spaces. It is terminated by a carriage return only.
FALSE: The return string cannot contain spaces. It is terminated by a carriage return or space.
В моем же случае в команду -PLOT надо было передать имя листа, содержащего пробел.
При вводе команды ручками в коммандную строку имя листа запрашивалось как в GetString(True).
А при эмуляции -PLOT методом SendCommand (VBA) пробел считался как Enter, т.е. GetString(False) ...
Поэтому Chr$(32) именно в этом конкретном случае можно, получается, написать и как " " ;)
Спасибо всем!