Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Переменная
 
{quote}{login=Genyaa}{date=07.12.2008 01:23}{thema=Re: }{post}{quote}{login=слэн}{date=06.12.2008 09:39}{thema=}{post}круто..  
а может прямо из иксель к данным обращаться? web-запрос попробовать определить?  
или есть еще средства..{/post}{/quote}  
Человеку нужно получить весь текст каждого копируемого сайта в одной ячейке, поэтому вэб-запрос (который размещает считываемые данные на листе по множеству ячеек) не подходит.  
 
А по поводу цикла... сначала нужно попробовать создать и изучить работу цикла по ячейкам без работы с сайтом, а уж потом в него включить созданное для копирования сайта.{/post}{/quote}
Переменная
 
Dim r As Variant  
Set r = Range("B6")  
ReturnValue = Shell("""C:\Program Files\Internet Explorer\IEXPLORE.EXE""" _  
& r, 1)  
Application.Wait (Now + TimeValue("0:00:3"))  
SendKeys "^{a}^{c}"  
Application.Wait (Now + TimeValue("0:00:3"))  
AppActivate "Microsoft Excel"  
SendKeys "+{INSERT}{ENTER}"  
SendKeys "%{TAB}"  
SendKeys "%{F4}"
Переменная
 
ReturnValue = Shell("""C:\Program Files\Internet Explorer\IEXPLORE.EXE""" _  
& " ""http://www.cbr.ru/credit/coinfo.asp?id=450000371""", 1)  
Application.Wait (Now + TimeValue("0:00:3"))  
SendKeys "^{a}^{c}"  
Application.Wait (Now + TimeValue("0:00:3"))  
AppActivate "Microsoft Excel"  
SendKeys "+{INSERT}{ENTER}"  
SendKeys "%{TAB}"  
SendKeys "%{F4}"  
 
 
http://www.cbr.ru/credit/coinfo.asp?id=450000371  
http://www.cbr.ru/credit/coinfo.asp?id=450000372  
http://www.cbr.ru/credit/coinfo.asp?id=450000373  
 
как сделать цикл по исполнению этого макроса по определенному перечню ссылок? Каждая ссылка находится в определенной ячейке. Никак не получается приспособить For Each Next
SendKeys "^{A}"
 
{quote}{login=}{date=06.12.2008 08:51}{thema=}{post}Попробуйте вместо  
 
SendKeys "^{A}"  
 
использовать  
 
SendKeys "^a"  
 
И расскажите, что получится. :-){/post}{/quote}  
 
 
спасибо большое) помогло)
Редактирование горячих клавишь в виндоус
 
кто нить в курсе как редактировать горячие клавиши в винде?
Автоматическая конвертация данных из Интернет в Excel
 
http://www.planetaexcel.ru/tip.php?aid=91  
 
может тут че полезного найдешь
SendKeys "^{A}"
 
{quote}{login=Юрий М}{date=05.12.2008 11:05}{thema=}{post}С клавиатуры?{/post}{/quote}  
 
неа. клавиатурой все получается. в макросе никак не прописать
SendKeys "^{A}"
 
SendKeys "^{A}"  
SendKeys "^{C}"  
SendKeys "^{V}"  
 
Никаким образом не хочет выполнять выделение в экселе. И вообще, у меня эксель отказывается воспринимать любое сочетание клавиш с участием контрла.
Вставка данных в ячейку (Очень важно для меня )
 
{quote}Я не знаю.. скорее всего и есть какая-то API функция, которая возвращает флаг окончания загрузки сайта в браузере. Я в этом направлении не работал... нет нужды туда углубляться. Все что мне нужно делать с сайтами там, где нужна задержака я реализую через ожидание.  
 
Для ожидания можно использовать метод Application.Wait{/post}{/quote}  
 
Sub proba()  
 
ReturnValue = Shell("""C:\Program Files\Internet Explorer\IEXPLORE.EXE""" _  
& " ""http://www.cbr.ru/credit/coinfo.asp?id=450000371""", 1)  
Application.Wihte (Now + TimeValue("0:00:5"))  
SendKeys "^{A}^{С}"  
Windows("Книга1.xls").Activate  
Range("E7").Select  
SendKeys "{F2}+{INSERT}{ENTER}"  
 
End Sub  
 
комп после запуска нафик подвисает))))
Функция сравнения
 
{quote}{login=Genyaa}{date=05.12.2008 03:26}{thema=Re: Re: Re: Функция сравнения}{post}{quote}{login=A_c_e}{date=05.12.2008 02:47}{thema=Re: Re: Функция сравнения}{post}Этот способ почему то криво работает если в ячейке есть энтеры  
 
прицепил пример  
 
Первое сравнение ПОИСКом а второе, для контроля, с помощью ЕСЛИ.{/post}{/quote}  
 
При длине искомой строки меньше 256 символов - функция ПОИСК работает нормально вне зависимости от наличия в строках переводов строк.{/post}{/quote}  
 
дело в том что длина строки гораздо больше тысячи    
 
вродь решил эту проблему функцией НАЙТИ(D21;C21)
Функция сравнения
 
{quote}{login=Genyaa}{date=05.12.2008 02:20}{thema=Re: Функция сравнения}{post}{quote}{login=A_c_e}{date=05.12.2008 02:03}{thema=Функция сравнения}{post}Есть ли какая нить функция поиска или сравнения части текста находящегося в ячейке  
 
Пример:    
ячейка 1  
"1233  
12354  
61  
432"  
ячейка 2  
"12354  
61"  
 
Нужно сравнить 2 ячейки в одной из которых находится часть текста другой. Тобиж в примере надо сравнить цельный кусок ячейки 2 на то содержится ли он в ячейки 1. Учитываться должны все пробелы, энтеры и символы при сравнении  
 
Такое возможно?{/post}{/quote}  
=ПОИСК(B1;A1){/post}{/quote}  
 
Этот способ почему то криво работает если в ячейке есть энтеры  
 
прицепил пример  
 
Первое сравнение ПОИСКом а второе, для контроля, с помощью ЕСЛИ.
Функция сравнения
 
Есть ли какая нить функция поиска или сравнения части текста находящегося в ячейке  
 
Пример:    
ячейка 1  
"1233  
12354  
61  
432"  
ячейка 2  
"12354  
61"  
 
Нужно сравнить 2 ячейки в одной из которых находится часть текста другой. Тобиж в примере надо сравнить цельный кусок ячейки 2 на то содержится ли он в ячейки 1. Учитываться должны все пробелы, энтеры и символы при сравнении  
 
Такое возможно?
Вставка данных в ячейку (Очень важно для меня )
 
{quote}{login=}{date=04.12.2008 11:35}{thema=Re: Re: Re: Re: Re: Re: Re: Re: }{post}{quote}{login=A_c_e}{date=04.12.2008 11:09}{thema=Re: Re: Re: Re: Re: Re: Re: }{post}без этой строки после загрузки страницы сразу активируется эксель а мне нужно чтоб произошло выделение копирование и только потом переход в эксель{/post}{/quote}  
Попробуйте заменить ее такой:  
 
AppActivate "Microsoft Internet Explorer", False  
 
Дальше экспериментируйте с параметрами... возможно, придется сделать некоторую задержку в работе макроса.{/post}{/quote}  
 
Походу в задержке как раз и дело. Страница не успевает открыться поэтому и ошибка выдается.    
А есть какая нибудь функция задержки?    
Или есть какая нибудь функция которая выдает True после полной загрузки страницы? После чего можно было бы запускать второй этап состоящий из выделения и копирвоания.
Вставка данных в ячейку (Очень важно для меня )
 
{quote}{login=}{date=04.12.2008 10:57}{thema=Re: Re: Re: Re: Re: Re: }{post}{quote}{login=A_c_e}{date=04.12.2008 10:49}{thema=Re: Re: Re: Re: Re: }{post}  
AppActivate i, True - почему то на этом этапе ошибку выдает{/post}{/quote}  
Можете удалить эту строку... она необязательна на этапе проб.{/post}{/quote}  
 
Sub proba()  
i = Shell("""C:\Program Files\Internet Explorer\IEXPLORE.EXE""" _  
& " ""http://www.cbr.ru/credit/coinfo.asp?id=450000371""", _  
vbNormalNoFocus)  
AppActivate i, True    
SendKeys "^{Ф}^{С}"  
Windows("Проба макроса5.xls").Activate  
Range("E7").Select  
SendKeys "{F2}+{INSERT}{ENTER}"  
 
 
 
 
без этой строки после загрузки страницы сразу активируется эксель а мне нужно чтоб произошло выделение копирование и только потом переход в эксель
Вставка данных в ячейку (Очень важно для меня )
 
{quote}{login=}{date=04.12.2008 09:27}{thema=Re: Re: Re: Re: }{post}{quote}{login=A_c_e}{date=04.12.2008 08:54}{thema=Re: Re: Re: }{post}  
Теперь буду думать как автоматизировать открытие интернет страницы, ее выделение и копирование с дальнейшей вставкой в ячейку){/post}{/quote}  
 
Обратите внимание на то, что в Excel есть возможность создавать Вэб-запрос (Меню-Данные-Импорт внешних данных-Создать вэб-запрос)..  
 
Но если не подойдет, то может быть вот это поможет (пример):  
 
Sub proba()  
i = Shell("""C:\Program Files\Internet Explorer\IEXPLORE.EXE""" _  
& " ""http://www.planetaexcel.ru/forum.php?forum_id=129""", _  
vbNormalNoFocus)  
AppActivate i, True  
End Sub{/post}{/quote}  
 
AppActivate i, True - почему то на этом этапе ошибку выдает
Вставка данных в ячейку (Очень важно для меня )
 
{quote}{login=Genyaa}{date=04.12.2008 07:22}{thema=Re: Re: }{post}{quote}{login=A_c_e}{date=04.12.2008 05:54}{thema=Re: }{post}{quote}{login=}{date=04.12.2008 04:47}{thema=}{post}А если попробовать использовать SendKeys для ввода текста, скопированного в буфер, в ячейку?{/post}{/quote}  
 
Range("E7").Select  
   SendKeys "+INS"  
Range("E8").Select  
 
В ячейку почему то вставляет не содержимое буфера, а INS.{/post}{/quote}  
Я понимаю, что наш человек обращается к справке в самый последний момент... но, КМК, если держаться этого принципа просто из принципа, то даже принципиальное решение принципиально не сможет быть достигнуто, в принципе.    
 
... но ради отступления от принципов, попробуйте так:  
 
Range("E7").Select  
SendKeys "{F2}+{INSERT}{ENTER}"  
Range("E8").Select  
 
И расскажите, что получится.{/post}{/quote}  
 
))))    
я более деревянным способом это сделал  
 
Range("E7").Select  
SendKeys " ", Wait  
SendKeys "{BACKSPACE}", Wait  
SendKeys "+{INSERT}", Wait  
SendKeys "{ENTER}", Wait  
Range("E8").Select  
 
не знал что нажатие F2 активирует ячейку))  
 
 
Теперь буду думать как автоматизировать открытие интернет страницы, ее выделение и копирование с дальнейшей вставкой в ячейку)
Вставка данных в ячейку (Очень важно для меня )
 
{quote}{login=}{date=04.12.2008 04:47}{thema=}{post}А если попробовать использовать SendKeys для ввода текста, скопированного в буфер, в ячейку?{/post}{/quote}  
 
Range("E7").Select  
   SendKeys "+INS"  
Range("E8").Select  
 
В ячейку почему то вставляет не содержимое буфера, а INS.
Вставка данных в ячейку (Очень важно для меня )
 
{quote}{login=}{date=04.12.2008 04:47}{thema=}{post}А если попробовать использовать SendKeys для ввода текста, скопированного в буфер, в ячейку?{/post}{/quote}  
 
я не очень силен в программировании. Можно поподробнее?
Вставка данных в ячейку (Очень важно для меня )
 
Никак не могу автоматизировать вставку данных внутрь ячейки. Может кто вкурсе как прописать в макросе так чтобы  
1)есть ссылка на сайт  
2)открыв сайт копируем его содержимое в буфер (контрл А, копировать)    
3)активруем файл экселя  
4)затем двойным щелчком входим в ячейку и вставляем содержимое буфера (контрл v)  
 
в итоге получается что весь скопированный сайт располагается в одной ячейке. Что собсно мне и нужно. Но эти все действия получаются только в ручную. Когда записываешь последовательность действий мокрасом он в процессе вставки текста при нажимании энтера пишет что запись не возможна.  
 
Скопированная страница ОБЯЗАТЕЛЬНО должна находиться внутри одной ячейки. Обычный импорт не дает такой возможности. Может кто в курсе как это обойти? что тока уже не пробывал. Не получается! (  
 
Для примера скопировал и вставил стартовую страницу яндекса.
Страницы: 1
Наверх