Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Microsoft office - word, excel, powerpoint... самоучитель.


Маркетинговая стратегия.

Эффективные рекламные кампании в Интернете.

Маркетологи шутят. Объяснение рыночных терминов...
На вечеринке ты видишь симпатичного парня. Ты подходишь к нему и говоришь: "со мной классно в постели".
Это - прямой маркетинг... Читать дальше>>




Новости науки.

Айсберг размером с Люксембург повлияет на климат

Найдены развалины дворца последнего царя Древнего Рима

Способность запоминать лица оказалась генетической

Астрофизики усложнили климатическую модель планет

Орбитальный зонд сфотографировал полосы на Марсе

Астрофизики застали звезду за поглощением собственной планеты

Отобраны участники 520-дневного "полета" на Марс

Ученые нашли самую старую на Земле горную породу


Тайны и загадки
окружающего мира.>>

Бесплатная служба знакомств


Екатерина, 24, Россия, Ростов-на-Дону

Рассылка нашего клуб знакомств...

 


Психологические тесты

Логика, интуиция и интеллект.
Насколько вы привлекательны для женщин?
Тест на эрудицию
Из какого вы века?
Есть ли у вас шанс найти любимого?
Твой сексуальный IQ
Каковы его чувства к тебе?
Что о вас думают мужчины?


Доска объявлений Поиск объявлений. Выбрать категорию...





Интересные рассылкиe:

Рассылки Subscribe.Ru
Лучшие сайты. Обмен ссылками. Каталог российских сайтов
Деловые предложения о сотрудничестве. Поиск бизнес партнеров
Самое интересное в окружающем мире. Тайны современного мира
Юмор онлайн: фотоприколы, анекдоты. Клуб хорошего настроения
Умные мысли. Афоризмы и цитаты великих людей. Афоризм дня
Читать книги! Рецензия на книгу. Что почитать?
Метафоры в жизни. Метафора как подражание и как троп
Лучшие цитаты и афоризмы о жизни и о бизнесе. Мудрые притчи
Раскрутка и продвижение сайта. Лучшие партнерские программы
Планирование карьеры. Как правильно составить резюме?
Работа в Москве. Рынок вакансий. Как найти работу в Москве?
Microsoft office - word, excel, powerpoint... самоучитель
Современный мир. Глобальные проблемы. Эволюция человека
Клуб знакомств. Служба знакомств и общения
Мужской журнал. "Мужские игры. Мир настоящих мужчин."
Обслуживание и ремонт компьютеров. Комплектующие, программы
Малый бизнес. Бизнес план. Идеи для малого бизнеса
Новости экономики России за последнюю неделю. Юмор, анекдоты
Развитие современной науки. Проблемы науки и техники
На какую рассылку подписаться? Лучшие рассылки Subscribe.ru
Как привлечь посетителей на сайт? Способ почтовых рассылок.

Эффективные рекламные кампании в Интернете.

 


Здравствуйте, дорогие читатели! Вопросы и предложениям присылайте на msoffi@mail.ru. .


 

MS Office и отправка почты. 2. Изучение (напоминание) некоторых элементов VBA.

 

Для начала хочу обратить ваше внимание, если код, приводимый в рассылке "поехал", т.е. например, вместо символов  " ) вы наблюдаете смайлик, то взять оригинал программы можно на сервере subscribe, в нижней части каждого выпуска есть ссылка "Этот выпуск в архиве" (или "код этой рассылки" - и вы попадете на список выпусков).

Напомню, что в предыдущем выпуске мы рассматривали способ отправки почтовых сообщений из ворда. Конечно, ворд - довольно экзотический "почтовик". Но, после некоторой доработки в определенных случаях может получиться что-то полезное. Хотя нас этот пример больше интересует в том плане, что можно показать "степень расширяемости" офисных программ. Из них, как из конструктора Легко можно сделать все что угодно. Не даром же говорят, что "МС Офис - это своеобразная операционная система." Правда сейчас, с ростом Google от Microsoft немного "отстали", т.к. Google становится еще большим монополистом. И перед ним открываются еще более "ужасающие" перспективы... Но, я увлекся.

Итак, примеры, которые я привожу, рабочие. Хотя в таком виде не очень полезные. Так, макрос, рассмотренный в прошлом выпуске, отправлял из ворда текущий документ одному получателю. Дальше - нужно было бы зайти в макрос, изменить адрес, и снова запустить макрос на выполнение. И так далее... Т.е. нам приходилось повторять рутинные операции. Можно сказать "вручную управлять циклом".

Вот сегодня мы и рассмотрим поподробнее оператор организации циклов. А также познакомимся (или вспомним) с массивами и функцией InStr(), которая проверяет есть ли в одной строке заданный символ (или подстрока, т.е. несколько символов).
Что такое переменные, вы уже наверное представляете. Т.е. все, что в программе описывается после оператора Dim - переменные. Например, в нашей программе
Dim bStarted As Boolean
переменная bStarted описывается как переменная логического (Boolean) типа, т.е. может принимать 2 значения - Правда или Ложь (True, Fales или 1, 0).
Массивы - это группа переменных, которые можно объединить по какому-то критерию. Например, мы объединим адреса электронной почты. Т.е. 1 адрес электронной почты "postbox1@mail.ru" можно сохранить в 1 переменной. А если у нас есть 50 адресов, мы их будем сохранять в массиве, состоящем из строк. В нашей программе это запишется так:

ReDim mMas(1 To 10) As String

Т.е. мы объявляем массив mMas как строковый массив (As String) и резервируем под элементы массива 10 позиций (1 To 10). Нужно только иметь в виду, что элементы массива нумеруются начиная с 0, поэтому первый элемент будет записываться как mMas(0)
Есть несколько способов повторить выполнение группы команд. Я сегодня подробнее расскажу про один. А другие вы уже поймете "по аналогии". Я буду обращать на них ваше внимание, когда они встретятся.

i = 0
Do While InStr(1, mMas(i), "@") <> 0
команда 1
команда 2
....

i = i + 1
Loop


Все команды, которые располагаются между операторами Do While и Loop будут повторяться до тех пор, пока будет выполняться условие, указанное после Do While. Т.е. пока InStr(1, mMas(i), "@") <> 0 (не равно 0, а это значит, что символа @ нет в строке mMas(i), если символ @ есть, то функция InStr возвратит его позицию)

Остановимся подробнее на этом условии. Оно нам сегодня пригодится. Функция InStr ищет в строке mMas(i) с первой позиции символ @. Если символ @ найден, то условие выполняется и цикл продолжает выполнять команды, расположенные ниже. Если условие не выполняется (т.е. в элементе массива символ "собака" не найден), то цикл "заканчивает свою работу". Т.е. происходит "выход из цикла".

Единственное "ограничение", которое мы сегодня установим - адреса электронной почты мы занесем "вручную в строковую переменную". Как их считать с внешнего файла - разберемся в следующий раз. Итак, с учетом всего сказанного, перепишем пример из прошлого выпуска.

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

str_ad = "postbox1@mail.ru postbox2@mail.ru post box 123"

Функция Split(str_ad) "разбивает" одну строчку на "подстроки" и передает их массиву mMas, помещая каждую подстоку в отдельный элемент массива:
mMas = Split(str_ad)

А функция InStr ищет в каждом элементе символ @. Если этот символ найден, то будем считать, что этот элемент является адресом электронной почты, и, следовательно по данному адресу мы отправляем содержимое текущего документа. Т.е. в нашей строке будет выделено 2 адреса, по которым и будет отправлен наш текст. Остальные "подстроки" адресами не являются. Поэтому (вернее из-за отсутствия в них символа @) на первом из них цикл остановится. На самом деле в серьезных программах должно быть больше проверок. Но у нас - учебный пример. И когда слишком много информации "за 1 раз", то все усваивается хуже :) Итак, посмотрим на наш макрос. Кажется, я объяснил все "нововведения", которых не было в прошлом варианте.

Sub post()
'
' post Макрос
'
'
Dim bStarted As Boolean
Dim oOutlookApp
Dim oItem
On Error Resume Next
Dim str_ad As String
ReDim mMas(1 To 10) As String

str_ad = "postbox1@mail.ru postbox2@mail.ru post box 123"
mMas = Split(str_ad)

i = 0
Do While InStr(1, mMas(i), "@") <> 0

'Получить объект Outlook, если он загружен
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then

'Outlook не загружен, запускаем его из кода

Set oOutlookApp = CreateObject("Outlook.Application")

bStarted = True
End If
'Создаем новый объект mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem

'Устанавливаем адрес для нового письма

.To = mMas(i)

'Устанавливаем адрес для копии письма

.CC = "letbox15@mail.ru"


'Устанавливаем заголовок

.Subject = "RE: запрос"

'Текст документа используем как тело письма.

.Body = ActiveDocument.Content

.Send
End With
If bStarted Then

'Если запустили Outlook из кода, то закрываем его

oOutlookApp.Quit
End If
'Все очищаем
Set oItem = Nothing
Set oOutlookApp = Nothing

i = i + 1
Loop

End Sub



В этом примере, при назначении адреса отправителя, мы использовали элементы нашего массива:

'Устанавливаем адрес для нового письма
.To = mMas(i)


В следующем выпуске мы рассмотрим как вводить данные из внешних файлов. Присылайте свои предложения и замечания на msoffi@mail.ru


 

Вместо послесловия - немного юмора

 

 

смотреть другие фотожабы >>




Полезные рассылки:

 

Читать книги! Рецензия на книгу. Что почитать?

Эта рассылка предназначена для тех, кто любит читать книги, отслеживает появление книжных новинок и часто задает себе вопрос "что почитать?" В ней публикуются рецензии на книги, отзывы читателей, аннотация к книгам и небольшие авторские "отступления" - "навеяло после прочтения" или "почему эта книга вызывает такой резонанс...?".


Лучшие сайты. Обмен ссылками

В этой рассылке Вас будут знакомить с лучшими находками на необъятных просторах интернета! Вы сможете оценить сайты, которые показались нам лучшими, интересными и полезными для нас, и возможно они будут интересны и Вам.


Умные мысли. Афоризмы и цитаты великих людей.

Эта рассылка посвящена Умным мыслям, т.е. разнообразным идеям и мнениям, которые заставляют нас задуматься о важных вопросах и которые помогают нам найти наше место в жизни. Это афоризмы и притчи великих людей, цитаты и высказывания о различных сферах нашей жизни. Плюс - некоторые комментарии, заметки и попытки найти аналогии в психологии, социологии и просто жизненном опыте и в "современной действительности".


Метафоры в жизни. Метафора как подражание и как троп

Рассылка о метафорах. Примеры метафор в литературе и в жизни. В каких случаях метафоры нам помогают. Когда нужно задуматься - а почему человек использует метафоры? Может быть за "красивыми словами" что-то скрывается?



Жду ваши письма и предложения.   msoffi@mail.ru

Игорь.


В избранное