Страницы: 1
RSS
Макрос переадрессации в браузер
 
Здравствуйте уважаемые, хотелось бы сделать одну расширяющую функцию для моего документа, но я не знаю как это сделать, поэтому прошу вашей помощи.
Задача такая:
есть столбец в котором указаны адреса в формате "ул.Гагарина 19А", нужно сделать так чтобы при нажатии на ячейку с адресом появлялась окно с выбором где я хочу искать этот адрес, на гугл картах или на яндекс карта или ещё на каких либо, и после нажатия на нужную кнопку меня перекидывает в браузер с забитым в него поисковым запросом той карты которой выбрал.

Поиск ничего подобного мне не выдал или же плохо искал, сам я в макросах ничего не понимаю, поэтому прошу вашей помощи.
Спасибо.
 
В раздел "Приемы" зайдите - по крайней мере научитесь делать выпадающие списки))
 
Юрий М выпадающий список здесь абсолютно не причем и как его делать я знаю. Вопрос (проблема) стоит в том чтобы сделать не выпадающий список и окно в котором будет несколько кнопок с выбором куда нужно перейти, на гугл карты или яндекс или другие карты. Если не ошибаюсь на бейсике команда окна была MsgBox. Я думаю мысль я передал.

Но ещё раз повторю задачу, попробую её более подробно расписать.
Есть столбик с адресами, в столбике очень много строк в которых записаны адреса формата "ул.Гагарина 22Б".
Нужно сделать такой макрос или что-то другое чтобы при нажатии на ячейку с адресом появлялось окно (а не выпадающий список) в котором будет несколько кнопок с выбором куда мне нужно перейти. При нажатии на кнопку меня должно перекинуть в браузер в гугл карты или яндекс с поисковым запросом.

Как я себе это представляю: при нажатии на ячейку копируется её содержимое "ул.Гагарина 22Б" в буфер обмена и появляется окно в котором уже есть несколько кнопок, сами кнопки в себе содержат маску ссылки (приставку или как это назвать) в таком формате "http://maps.yandex.ua/?text=", и после нажатия на такую кнопку допустим "Яндекс карты" содержимое из буфера обмена прибавляется к маске ссылки и получится "http://maps.yandex.ua/?text=ул.Гагарина 22Б" и эта уже готовая ссылка передается в браузер и переходит на данную страницу "http://maps.yandex.ua/?text=ул.Гагарина 22Б" с поисковым запросом "ул.Гагарина 22Б".

Мои алгоритм может быть не верным или есть более подходящие варианты, то пожалуйста предлагайте свои варианты решения этой задачи.
Изменено: 4ypa4ypsik - 23.10.2013 06:19:58
 
Цитата
выпадающий список здесь абсолютно не причем
А я именно так понял вот это:
Цитата
нужно сделать так чтобы при нажатии на ячейку с адресом появлялась окно с выбором
===
А зачем в этом окне несколько кнопок?
 
Вот url вы писать можете
Internet Explorer можно запускать так
Код
    Dim pIE As Object
    Set pIE = CreateObject("InternetExplorer.Application")
    pIE.Visible = True
    pIE.Navigate "http://maps.yandex.ru/?text=Москва%2C Гагарина 19А"

С другими почитайте тут.
Форму, переключатели и кнопку запуска, думаю и сами соорудите.
 
согласен с Юрием - выпадающий список - самое оно, но придется чуть поплясать, чтобы при выборе из списка значение ячейки не менялось, а просто совершалось соотв действие - создавалась гиперссылка и осуществлялся переход по ней
Живи и дай жить..
 
Я нашел на другом ресурсе ещё более подходящую идею под мои цели но её нужно немного переделать.
Смысл скрипта в том что поиск доступен из контекстного меню ячеек, тоесть правый клик по ячейке и в контекстном меню выбираем через какой браузер искать в поисковике гугл.
Только мне не нужно открывать в других браузер так как использую только один по умолчанию.
Тоесть нужно не в разных браузерах открывать а в разных поисковых системах через один браузер который стоит по умолчанию.
Также нужно чтобы они также прятались в выпадающем меню чтобы не делать контекстное меню огромным по высоте.
 
4ypa4ypsik я очень сильно сомневаюсь ,что у Вас получится реализовать задумку без использования макросов. Еще тут не упомянут момент,что адрес "ул.Гагарина 19А" нужно предварительно перекодировать,чтобы использовать (в URL например не разрешено использование пробела). И вообще непонятно зачем использовать несколько поисковых машин. Если думаете ,что формат запросов в URL у всех поисковиков одинаковый,то ошибаетесь.
Изменено: Jom - 23.10.2013 09:49:01
 
У листа нет события клик
Можно только Rightклик.
Есть два варианта: добавить пункт в контекстное меню или вообще подменить для диапазона.
Второй вариант:
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
     If Not Application.Intersect(Range("A1:A30"), Target) Is Nothing Then
    Cancel = True
        Set IE = CreateObject("InternetExplorer.Application")
        IE.Visible = True
         ADP = "http://maps.yandex.ua/?text=" & CStr(Target.Value)
         Debug.Print ADP
        IE.navigate ADP
        Do Until IE.ReadyState = 4
            DoEvents
        Loop
    End If
End Sub
Изменено: Александр Моторин - 23.10.2013 10:13:05
 
вот примерно о чем я говорил - проверка данных стоит толкл для первой ячейки, для остальных сами
Живи и дай жить..
 
Свою задачу решил ещё с большим успехом чем планировал.
При клике мышкой теперь у меня спрашивает где я хочу искать то что есть в ячейке.
Спасибо за участие.
 
мы за вас рады. а на чем остановились, если не секрет?
Живи и дай жить..
 
Я сделал вот так
Страницы: 1
Читают тему
Наверх