Как импортировать весь текст в VBS? - PullRequest
0 голосов
/ 27 июня 2019

Когда я копирую имя файла с именем «AB», он ищет только «A», все после пробела игнорируется.Есть ли способ добавить "+" между словами.

Set WshShell = CreateObject("WScript.Shell")

Set X = CreateObject("htmlfile")

text = X.ParentWindow.ClipboardData.GetData("text")

WshShell.Run "cmd.exe /k start www.google.com/search?q="+text & Chr(34),0

Set WshShell = Nothing

Ответы [ 2 ]

1 голос
/ 27 июня 2019

Вы имеете в виду, что в вашем буфере обмена есть какой-то текст, слова которого разделены пробелами, и вы хотите превратить его в строку, где слова соединены амперсандами, чтобы вы могли использовать его в качестве поискового запроса Google?Для этого используйте функцию Replace.Также удалите Chr(34) из своего фрагмента кода.Это не имеет смысла.

text = X.ParentWindow.ClipboardData.GetData("text")
text = Replace(text, " ", "+")

WshShell.Run "cmd.exe /k start www.google.com/search?q=" & text, 0

Более надежный подход, который бы позаботился о словах, разделенных несколькими пробелами и / или другими пробельными символами, использовал бы замену регулярного выражения.

Set re = New RegExp
re.Pattern = "\s+"
re.Global  = True

text = X.ParentWindow.ClipboardData.GetData("text")
text = re.Replace(text, "+")

WshShell.Run "cmd.exe /k start www.google.com/search?q=" & text, 0
0 голосов
/ 28 июня 2019

Благодаря Ансгару,

Set WshShell = CreateObject("WScript.Shell")
Set X = CreateObject("htmlfile")
text = X.ParentWindow.ClipboardData.GetData("text")
text = Replace(text, " ", "+")
WshShell.Run "cmd.exe /k start www.google.com/search?q=" & text, 0
Set WshShell = Nothing

Set re = New RegExp
re.Pattern = "\s+"
re.Global  = True
Set WshShell = CreateObject("WScript.Shell")
Set X = CreateObject("htmlfile")
text = X.ParentWindow.ClipboardData.GetData("text")
text = re.Replace(text, "+")
WshShell.Run "cmd.exe /k start www.google.com/search?q=" & text, 0

Любой из этих двух кодов будет работать.

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