Страницы: 1
RSS
Открыть текстовое содержимое ячейки в браузере не по умолчанию, в режиме инкогнито.
 
Приветствую вас уважаемые форумчане и достопочтеннейший модератор.
Нашелся макрос на просторах интернета, по открытию содержимого ячейки в браузере.
Были безрезультатные попытки переделать его.

Нужно чтобы макрос брал содержимое ячейки и открывал браузер с выдачей по запросу из взятого из ячейки.
Но нужно, чтобы браузер открывал тот, который прописан в макросе, а не браузер по умолчанию.
И еще, чтобы браузер открывался в режиме инкогнито.
Помогите пожалуйста решить этот вопросик.

А вот и сам макрос.
Код
Sub SearchValuesInWeb()
Dim Link$


' Макрос открывает в выбранном браузере результаты поиска значений из ячеек
' поиск производится в Google

If Err Then Exit Sub ' запуск не из контекстного меню

maxCellsCount = 10 ' больше 20 ячеек - отказываемся от запуска поиска

Dim coll As New Collection



' берем только непустые уникальные значения из выделенного диапазона ячеек

Dim ra As Range: Set ra = Intersect(Selection, ActiveSheet.UsedRange)
Arr = ra.Value: If ra.Cells.Count = 1 Then Arr = Array(ra(1))
For Each Item In Arr
If Len(Trim(Item)) Then coll.Add CStr(Trim(Item)), CStr(Trim(Item))
If coll.Count > maxCellsCount Then Exit For
Next



' если случайно запустить поиск тысячи значений - комп подвиснет надолго...

If coll.Count > maxCellsCount Then
msg = "Количество значений для поиска провысило ограничение в " & maxCellsCount & " ячеек!"
MsgBox msg, vbExclamation, "Слишком много значений - поиск отменяется"
Exit Sub
End If



Path$ = """" & "C:\Users\mila\AppData\Local\Yandex\YandexBrowser\Application\browser.exe -incognito" & """"



' проверяем существование исполняемого файла браузера

Path2$ = Path$: If Dir(Split(Path$, Chr(34))(1), vbNormal) = "" Then Path2$ = ""

For Each Item In coll 



' перебираем все уникальные значения ячеек

n = n + 1



' формируем поисковую ссылку для Yandex

Link = """" & "https://yandex.ru/search/?lr=213&text=" & Item & """"
CreateObject("wscript.shell").Run Link



' после первой ссылки дожидаемся запуска браузера (1 секунду)

If n = 1 Then Application.Wait Now + 1 / 86400

Next
End Sub
 
Ну как, как? Определить что нужно запускать, определить ключ отвечающий за incognito например для Chrome это --incognito для Edge --inprivate составить строку запуска в виде "Программа ключи URL" , запустить.
По вопросам из тем форума, личку не читаю.
 
Достопочтеннейший БМВ Здравствуйте !
Огромная благодарность вам, за то что помогаете !
К сожалению в теме кода и разработки, мало понимаю, не могли бы вы помочь с моей проблемкой и подправить макрос.
Вроде как писать кода не много нужно.
Изменено: Mila - 08.04.2022 04:26:16
 
Цитата
написал:
Определить что нужно запускать
Уважаемый, а тут можно по подробней :)
 
Цитата
Mila написал:
а тут можно по подробней
Цитата
Mila написал:
Но нужно, чтобы браузер открывал тот, который прописан в макросе, а не браузер по умолчанию.
Ну на вскидку я назову набор от 5 и более браузеров, которые могут быть установлены в системе, и какой из них?
Да и забыл что путь к браузеру в зависимости от разрядности системы может быть разным

так для Chrome в 64 битной системе
Код
Link = """" & "https://yandex.ru/search/?lr=213&text=" & Item & """"
strCmd="""C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"" --incognito " & Link
CreateObject("wscript.shell").Run strCmd
По вопросам из тем форума, личку не читаю.
 
,Не не то, нужно не ссылку эту открывать в браузере, а значение ячейки передавать в эту ссылку, это ссылка поиска в яшке
 
,Или мы недопоняли друг друга, или с макросом что-то не то, в строку поиска браузера вставляется, не значение ячейки, а ссылка  :(
 
,Ничего не получается.
 
Mila,  Что должно получится? Вы вроде понятно описали, но нет файла, нет ячейки, нет понимания что в ней. Как следствие нет понимания, как на нее сослаться и что должно выполнится.
По вопросам из тем форума, личку не читаю.
 
,Все понятно было написано в заголовке ветки форума, что мне нужно.
Также было написано, что макрос найден на просторах интернета.
Так же было написано, что в разработке мало понимаю.
Так же была просьба подправить макрос, а не учить кодить меня.
Вам однозначно огромное спасибо за помощь, и понимать как все работает это здорово, но чтобы понять, надо видить картину целиком, а не иметь минимум знаний, как в моем случае.
Так же было написано, что макрос этот супер маленький и были ожидания от форума, что здесь помогут и переделают макрос мой, чтоб работал.
Но видно не судьба.
 
Mila, Прямым текстом пишу. Нужен мааахонький пример файла с данными и указанием от куда, что и когда брать, куда класть, название браузера который используется.
По вопросам из тем форума, личку не читаю.
 
БМВ, да там всё работает в макросе
Просто параметр --incognito включает режим инкогнито только для браузера Chrome
И задача - найти аналогичный параметр для браузера YandexBrowser
И вся проблема в том, что ТС не может загуглить этот параметр (или просто лень)
 
Цитата
Игорь написал:
да там всё работает в макросе
Игорь, нет уверенности у меня в этом, сильно смущает
Код
Link = """" & "https://yandex.ru/search/?lr=213&text=" & Item & """"
CreateObject("wscript.shell").Run Link
По вопросам из тем форума, личку не читаю.
 
ну, вот тут написано, что в Яндекс Браузер точно так же --incognito
https://yabrowser.club/incognito-mode/
Изменено: New - 10.04.2022 09:49:38
 
так то что парни пересобрали на движке Chromium  и говорит что те же ключи, в отличии от MS которые оставили только движок и сильно поменяли остальное.
По вопросам из тем форума, личку не читаю.
 
,Рааботает макрос то работает, но не правильно, без разници какой браузер туда вписывать, открывается браузер по умолчанию и хоть с двумя дефисами, инкогнито всеравно не открывает.
БМВ почти правильный давал, его код открывал прописанный браузер, но не открывал значение ячейки по ссылке, а открывал саму ссылку.
 
Цитата
написал:
Прямым текстом пишу. Нужен мааахонький пример файла с данными и указанием от куда, что и когда брать, куда класть, название браузера который используется.
Прямым текстом пишу :)
Не понимаю как это сделать :)
 

Ну приложить файл в котором ваше что-то в ячейках вы можете? И написать  как конкретно вы хотите это что-то вставлять.....,  
По вопросам из тем форума, личку не читаю.
 
,В эксель табличке, в первой строке, "А" колонка, ячейка с: "купить БМВ".
Нужно, чтобы при отработке макроса, содержимое выделенной ячейки, с "купить БМВ", открылось в браузере, который прописан в коде макроса.
Вот так:
https://yandex.ru/search/?text=%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C+%D0%91%D0%9C%D0%92­&lr=213

В режиме инкогнито.
Изменено: Mila - 10.04.2022 15:55:07
 
Ну например
Код
Sub WebSearch()
Const Path = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
Const Options = "--incognito"
Const SearchUrl = "https://yandex.ru/search/?text=%SearchWhat%&lr=213"
CreateObject("wscript.shell").Run Path & " " & Options & " " & Replace(SearchUrl, "%SearchWhat%", Replace(Cells(1, 1), " ", "+"))
End Sub


Если принципиально кодировать символы, то
Код
CreateObject("wscript.shell").Run Path & " " & Options & " " & Replace(SearchUrl, "%SearchWhat%", WorksheetFunction.EncodeURL(Replace(Cells(1, 1), " ", "+")))
Изменено: БМВ - 10.04.2022 16:11:32
По вопросам из тем форума, личку не читаю.
 
,Ух круто ! Всё супер !
Наиогромаднейший Респект !
 
,Но штото пошло не так :(
Другую ячейку с: "купить форд".
Макрос открывает выдачу в браузере, не  "купить форд".
А:  "купить БМВ".
Т.е с предыдущем значением ячейки  8-0  
 
Цитата
Mila написал:
Но штото пошло не так
Ну сперва предположим что БМВ неподкупен и его не купить
далее

я несколько раз писал о том что нужно пояснить что делать? Что значит
Цитата
Mila написал:
Другую ячейку
Как макросу понять что пора обработать следующую??? Это ряд ячеек по которому надо пробежать и открыть поиск для всех , даже если это 100500 ячеек?
По вопросам из тем форума, личку не читаю.
 
Цитата
написал:
Как макросу понять что пора обработать следующую??? Это ряд ячеек по которому надо пробежать и открыть поиск для всех , даже если это 100500 ячеек?
Нужно открывать ту ячейку, которая выделена.
Следующую обрабатывать не нужно, в строку браузера, нужно, что бы попадало значение той ячейки, которая выделена.
Но после, если нужно другую ячейку, так же вывести в поиск, нужно, чтобы макрос вывел ту ячейку, которая выделена.
И т.д.
Макрос не должен запоминать значение ячейки.
Таких выводов в поиск браузера может быть много.
В столбце таблички может быть 100500 строк, но выводить нужно выделенную ячейку.
После по желанию, выделяю нужную другую ячейку и запускаю макрос и в браузер должно попасть значение той другой ячейки, которую потом выделяю.
И так столько раз, сколько потребуется.
Не нужно запоминать значение ячейки.
 
Код
Sub WebSearch()
Const Path = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
Const Options = "--incognito"
Const SearchUrl = "https://yandex.ru/search/?text=%SearchWhat%&lr=213"
CreateObject("wscript.shell").Run Path & " " & Options & " " & Replace(SearchUrl, "%SearchWhat%", Replace(Activecell, " ", "+"))
End Sub
По вопросам из тем форума, личку не читаю.
 
,Благодарю Вас Добрый МОлодец !
 
,Здравствуйте БМВ!
Подскажите пожалуйста, а с кавычками, как сделать так, чтобы значение ячейки, попадало в строку поиска.
В ячейке фраза без кавычек, нужно чтобы кавычки добавлялись к фразе.
Например в ячейке фраза: Неподкупный БМВ
Нужно, чтобы в строку поиска попадала фраза, обрамленная в кавычки: "Неподкупный БМВ"
 
Код
Sub WebSearch()
Const Path = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
Const Options = "--incognito"
Const SearchUrl = "https://yandex.ru/search/?text=%SearchWhat%&lr=213"
CreateObject("wscript.shell").Run Path & " " & Options & " " & Replace(SearchUrl, "%SearchWhat%", Replace("%22" & ActiveCell & "%22", " ", "+"))
End Sub


или
Код
Sub WebSearch()
Const Path = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
Const Options = "--incognito"
Const SearchUrl = "https://yandex.ru/search/?text=%22%SearchWhat%%22&lr=213"
CreateObject("wscript.shell").Run Path & " " & Options & " " & Replace(SearchUrl, "%SearchWhat%", Replace( ActiveCell , " ", "+"))
End Sub
По вопросам из тем форума, личку не читаю.
 
,Преогромнейшая Благодуха Вам Достопочтеннейший !!! :)
 
офтоп
БМВ ,это ж какое терпение надо иметь... уважуха  :)  
Страницы: 1
Наверх