Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Открытие гиперссылок в столбце макросом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открытие гиперссылок в столбце макросом (Формулы)
Открытие гиперссылок в столбце макросом
ДмитрийМ Дата: Пятница, 14.06.2013, 13:37 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Друзья подскажите пожалуйста макрос, который мог бы открывать гиперссылки,указанные в столбце, в браузер.Например по 30 штук за 1 раз.
Спасибо большое!
 
Ответить
СообщениеДрузья подскажите пожалуйста макрос, который мог бы открывать гиперссылки,указанные в столбце, в браузер.Например по 30 штук за 1 раз.
Спасибо большое!

Автор - ДмитрийМ
Дата добавления - 14.06.2013 в 13:37
Serge_007 Дата: Пятница, 14.06.2013, 16:24 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
[vba]
Код
Sub Hyperlink()
Dim HL As Range
For Each HL In Range("A1:A30")
     HL.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
     Next
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[vba]
Код
Sub Hyperlink()
Dim HL As Range
For Each HL In Range("A1:A30")
     HL.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
     Next
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 14.06.2013 в 16:24
ДмитрийМ Дата: Понедельник, 17.06.2013, 13:46 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо,большое=)
 
Ответить
СообщениеСпасибо,большое=)

Автор - ДмитрийМ
Дата добавления - 17.06.2013 в 13:46
Applic Дата: Среда, 10.07.2013, 18:26 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго дня Serge_007, подскажите а чем может быть проблема,
добавил в Ваш код несколько строчек для распечатки открываемых документов и все работает пока
не добавляю следующее:

SendKeys "^p", True
SendKeys "{Enter}", True

причем на старой машине с ХР офис 7 все работало,
на работе стоит 7 - 64 разрядная с офисом 10. Происходит какая-то мистика))) код то работает то нет...
зависает на строчке:
HL.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

весь код выглядит так
[vba]
Код

Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long

Sub Marhryt()

     Dim HL As Range

     For Each HL In Range("C7:C10")
     HL.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
      
     Paus = 2000
     Delay (Paus)

     SendKeys "^p", True
     SendKeys "{Enter}", True
    
     Paus = 500
     Delay (Paus) 'delay for data communication on printer
          
     SendKeys "%{F4}", True 'Close file
     Next

End Sub

Private Sub Delay(Paus)

     SStime = GetTickCount
     DoEvents       
     Do While GetTickCount - SStime < Paus: DoEvents: Loop

End Sub
[/vba]

Заранее Спасибо!
 
Ответить
СообщениеДоброго дня Serge_007, подскажите а чем может быть проблема,
добавил в Ваш код несколько строчек для распечатки открываемых документов и все работает пока
не добавляю следующее:

SendKeys "^p", True
SendKeys "{Enter}", True

причем на старой машине с ХР офис 7 все работало,
на работе стоит 7 - 64 разрядная с офисом 10. Происходит какая-то мистика))) код то работает то нет...
зависает на строчке:
HL.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

весь код выглядит так
[vba]
Код

Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long

Sub Marhryt()

     Dim HL As Range

     For Each HL In Range("C7:C10")
     HL.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
      
     Paus = 2000
     Delay (Paus)

     SendKeys "^p", True
     SendKeys "{Enter}", True
    
     Paus = 500
     Delay (Paus) 'delay for data communication on printer
          
     SendKeys "%{F4}", True 'Close file
     Next

End Sub

Private Sub Delay(Paus)

     SStime = GetTickCount
     DoEvents       
     Do While GetTickCount - SStime < Paus: DoEvents: Loop

End Sub
[/vba]

Заранее Спасибо!

Автор - Applic
Дата добавления - 10.07.2013 в 18:26
Applic Дата: Четверг, 11.07.2013, 18:53 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Еще раз прошу помощи!!!! Помогите, пожалуйста!
Смысл выше изложенного кода должен заключается в следующем
на листе1 в книге эксель существует список гиперссылок C7:C10 ведущий в папку с pdf файлами. Код открывает по очереди документы из списка C7:C10, распечатывает и закрывает.
Все так и происходит за исключением того, что не открывается окно вывода на печать соответственно документ не распечатывается)...
Но на соседней машине с более старым офисом и виндоусом все работает!!!
Что делать!!! Подскажите!
Я сам не программист.
Когда то на форуме нашел этот код. Как подступиться к этой проблеме не знаю.
 
Ответить
СообщениеЕще раз прошу помощи!!!! Помогите, пожалуйста!
Смысл выше изложенного кода должен заключается в следующем
на листе1 в книге эксель существует список гиперссылок C7:C10 ведущий в папку с pdf файлами. Код открывает по очереди документы из списка C7:C10, распечатывает и закрывает.
Все так и происходит за исключением того, что не открывается окно вывода на печать соответственно документ не распечатывается)...
Но на соседней машине с более старым офисом и виндоусом все работает!!!
Что делать!!! Подскажите!
Я сам не программист.
Когда то на форуме нашел этот код. Как подступиться к этой проблеме не знаю.

Автор - Applic
Дата добавления - 11.07.2013 в 18:53
Serge_007 Дата: Четверг, 11.07.2013, 19:58 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
на соседней машине с более старым офисом и виндоусом все работает
Тут помочь не могу - нету у меня старого офиса и винды

Цитата (Applic, Среда, 10.07.2013, 18:26 # 4)
Происходит какая-то мистика))) код то работает то нет
А тут тем более. Надо видеть


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
на соседней машине с более старым офисом и виндоусом все работает
Тут помочь не могу - нету у меня старого офиса и винды

Цитата (Applic, Среда, 10.07.2013, 18:26 # 4)
Происходит какая-то мистика))) код то работает то нет
А тут тем более. Надо видеть

Автор - Serge_007
Дата добавления - 11.07.2013 в 19:58
Applic Дата: Пятница, 12.07.2013, 10:57 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Serge_007, подскажите пожалуйста существует ли возможность в данном случае заменить код:

SendKeys "^p", True
SendKeys "{Enter}", True

на альтернативный код, ведь по сути окно adobe acrobat с открытым документом находится на рабочем столе и остается только дать команду распечатать.
 
Ответить
СообщениеSerge_007, подскажите пожалуйста существует ли возможность в данном случае заменить код:

SendKeys "^p", True
SendKeys "{Enter}", True

на альтернативный код, ведь по сути окно adobe acrobat с открытым документом находится на рабочем столе и остается только дать команду распечатать.

Автор - Applic
Дата добавления - 12.07.2013 в 10:57
Serge_007 Дата: Пятница, 12.07.2013, 11:08 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Applic, Среда, 10.07.2013, 18:26 # 4)
код то работает то нет
Появилась одна мысль: попробуйте проверить какая раскладка клавиатуры в случае срабатывания и не срабатывания


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Applic, Среда, 10.07.2013, 18:26 # 4)
код то работает то нет
Появилась одна мысль: попробуйте проверить какая раскладка клавиатуры в случае срабатывания и не срабатывания

Автор - Serge_007
Дата добавления - 12.07.2013 в 11:08
Applic Дата: Пятница, 12.07.2013, 18:54 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Serge_007, да Вы просто гений, так и есть!
Когда код не работал действительно стояла не анг. раскладка.
Спасибо огромное!
Все работает!
Испортил столько бумаги, до сих пор не верится))), все работает!!!
 
Ответить
СообщениеSerge_007, да Вы просто гений, так и есть!
Когда код не работал действительно стояла не анг. раскладка.
Спасибо огромное!
Все работает!
Испортил столько бумаги, до сих пор не верится))), все работает!!!

Автор - Applic
Дата добавления - 12.07.2013 в 18:54
Applic Дата: Суббота, 13.07.2013, 22:14 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Serge_007, еще раз прошу Вашего внимания
я попробовал исправить ситуацию с раскладкой клавиатуры следующим кодом:

[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ВключитьАнглийскуюРаскладку
End Sub
[/vba]

получилось следующее:
если раскладка английская все работает.
если другая, то раскладка на время выполнения кода переключается на английскую, но при этом распечатывание документа не происходит.
т.е. выходит , что на самом деле переключения не происходит?...
Возможно ли это как то исправить?
Спасибо заранее)))


Сообщение отредактировал Applic - Суббота, 13.07.2013, 22:41
 
Ответить
СообщениеSerge_007, еще раз прошу Вашего внимания
я попробовал исправить ситуацию с раскладкой клавиатуры следующим кодом:

[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ВключитьАнглийскуюРаскладку
End Sub
[/vba]

получилось следующее:
если раскладка английская все работает.
если другая, то раскладка на время выполнения кода переключается на английскую, но при этом распечатывание документа не происходит.
т.е. выходит , что на самом деле переключения не происходит?...
Возможно ли это как то исправить?
Спасибо заранее)))

Автор - Applic
Дата добавления - 13.07.2013 в 22:14
Serge_007 Дата: Суббота, 13.07.2013, 22:17 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщениеhttp://www.planetaexcel.ru/forum....D=10591

Автор - Serge_007
Дата добавления - 13.07.2013 в 22:17
Applic Дата: Суббота, 13.07.2013, 22:44 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Serge_007, нет еще не читал..., но я уже все где могу исправил!
 
Ответить
СообщениеSerge_007, нет еще не читал..., но я уже все где могу исправил!

Автор - Applic
Дата добавления - 13.07.2013 в 22:44
Applic Дата: Воскресенье, 14.07.2013, 00:10 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Serge_007, еще раз огромное СПАСИБО!
Последний пример, по Вашей ссылке, отлично работает, но применительно к моему примеру пришлось в свой код добавить еще одну строчку:
[vba]
Код
Range("C1").Select
[/vba]
иначе не хотел печатать если изначально стоит не англ. раскладка.
После выбора ячейки "С1" для которой тоже предусмотрено переключение клавиатуры на англ. язык все заработало!
СПАСИБО ОГРОМНОЕ!
 
Ответить
СообщениеSerge_007, еще раз огромное СПАСИБО!
Последний пример, по Вашей ссылке, отлично работает, но применительно к моему примеру пришлось в свой код добавить еще одну строчку:
[vba]
Код
Range("C1").Select
[/vba]
иначе не хотел печатать если изначально стоит не англ. раскладка.
После выбора ячейки "С1" для которой тоже предусмотрено переключение клавиатуры на англ. язык все заработало!
СПАСИБО ОГРОМНОЕ!

Автор - Applic
Дата добавления - 14.07.2013 в 00:10
Kattisi Дата: Воскресенье, 23.02.2014, 13:21 | Сообщение № 14
Группа: Гости
Здравствуйте,

Sub Hyperlink()
Dim HL As Range
For Each HL In Range("A1:A30")
HL.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Next
End Sub

Не работает, если в столбце указана формула =гиперссылка(B1)

Помогите, пожалуйста, решить эту проблему.
 
Ответить
СообщениеЗдравствуйте,

Sub Hyperlink()
Dim HL As Range
For Each HL In Range("A1:A30")
HL.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Next
End Sub

Не работает, если в столбце указана формула =гиперссылка(B1)

Помогите, пожалуйста, решить эту проблему.

Автор - Kattisi
Дата добавления - 23.02.2014 в 13:21
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открытие гиперссылок в столбце макросом (Формулы)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!