Друзья подскажите пожалуйста макрос, который мог бы открывать гиперссылки,указанные в столбце, в браузер.Например по 30 штук за 1 раз. Спасибо большое!
Друзья подскажите пожалуйста макрос, который мог бы открывать гиперссылки,указанные в столбце, в браузер.Например по 30 штук за 1 раз. Спасибо большое!ДмитрийМ
Доброго дня 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
Еще раз прошу помощи!!!! Помогите, пожалуйста! Смысл выше изложенного кода должен заключается в следующем на листе1 в книге эксель существует список гиперссылок C7:C10 ведущий в папку с pdf файлами. Код открывает по очереди документы из списка C7:C10, распечатывает и закрывает. Все так и происходит за исключением того, что не открывается окно вывода на печать соответственно документ не распечатывается)... Но на соседней машине с более старым офисом и виндоусом все работает!!! Что делать!!! Подскажите! Я сам не программист. Когда то на форуме нашел этот код. Как подступиться к этой проблеме не знаю.
Еще раз прошу помощи!!!! Помогите, пожалуйста! Смысл выше изложенного кода должен заключается в следующем на листе1 в книге эксель существует список гиперссылок C7:C10 ведущий в папку с pdf файлами. Код открывает по очереди документы из списка C7:C10, распечатывает и закрывает. Все так и происходит за исключением того, что не открывается окно вывода на печать соответственно документ не распечатывается)... Но на соседней машине с более старым офисом и виндоусом все работает!!! Что делать!!! Подскажите! Я сам не программист. Когда то на форуме нашел этот код. Как подступиться к этой проблеме не знаю.Applic
Serge_007, подскажите пожалуйста существует ли возможность в данном случае заменить код:
SendKeys "^p", True SendKeys "{Enter}", True
на альтернативный код, ведь по сути окно adobe acrobat с открытым документом находится на рабочем столе и остается только дать команду распечатать.
Serge_007, подскажите пожалуйста существует ли возможность в данном случае заменить код:
SendKeys "^p", True SendKeys "{Enter}", True
на альтернативный код, ведь по сути окно adobe acrobat с открытым документом находится на рабочем столе и остается только дать команду распечатать.Applic
Serge_007, да Вы просто гений, так и есть! Когда код не работал действительно стояла не анг. раскладка. Спасибо огромное! Все работает! Испортил столько бумаги, до сих пор не верится))), все работает!!!
Serge_007, да Вы просто гений, так и есть! Когда код не работал действительно стояла не анг. раскладка. Спасибо огромное! Все работает! Испортил столько бумаги, до сих пор не верится))), все работает!!!Applic
Serge_007, еще раз прошу Вашего внимания я попробовал исправить ситуацию с раскладкой клавиатуры следующим кодом:
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ВключитьАнглийскуюРаскладку End Sub
[/vba]
получилось следующее: если раскладка английская все работает. если другая, то раскладка на время выполнения кода переключается на английскую, но при этом распечатывание документа не происходит. т.е. выходит , что на самом деле переключения не происходит?... Возможно ли это как то исправить? Спасибо заранее)))
Serge_007, еще раз прошу Вашего внимания я попробовал исправить ситуацию с раскладкой клавиатуры следующим кодом:
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ВключитьАнглийскуюРаскладку End Sub
[/vba]
получилось следующее: если раскладка английская все работает. если другая, то раскладка на время выполнения кода переключается на английскую, но при этом распечатывание документа не происходит. т.е. выходит , что на самом деле переключения не происходит?... Возможно ли это как то исправить? Спасибо заранее)))Applic
Сообщение отредактировал Applic - Суббота, 13.07.2013, 22:41
Serge_007, еще раз огромное СПАСИБО! Последний пример, по Вашей ссылке, отлично работает, но применительно к моему примеру пришлось в свой код добавить еще одну строчку: [vba]
Код
Range("C1").Select
[/vba] иначе не хотел печатать если изначально стоит не англ. раскладка. После выбора ячейки "С1" для которой тоже предусмотрено переключение клавиатуры на англ. язык все заработало! СПАСИБО ОГРОМНОЕ!
Serge_007, еще раз огромное СПАСИБО! Последний пример, по Вашей ссылке, отлично работает, но применительно к моему примеру пришлось в свой код добавить еще одну строчку: [vba]
Код
Range("C1").Select
[/vba] иначе не хотел печатать если изначально стоит не англ. раскладка. После выбора ячейки "С1" для которой тоже предусмотрено переключение клавиатуры на англ. язык все заработало! СПАСИБО ОГРОМНОЕ!Applic