Страницы: 1
RSS
[ Закрыто ] Парсинг по ключевым словам внутри VBA
 
в VBA имеем переменную

zayavka ="Фамилия Имя, вам назначена заявка № 169
Заявитель : АЗК-34
Создал: ФамилияИмя
Дата создания: 13.10.2017 10:36
Тема: Не работает отсекатель
Описание : ТРК-3 (Аи-95)
Для просмотра подробных сведений перейдите по ссылке ссылка удалена [МОДЕРАТОР]

Шаблон всех таких ячеек всегда одинаков, меняются только значения


Нужно эту переменную разбить на несколько, чтобы получить переменные
Technician=Фамилия Имя
ID=169
Autor=АЗК-34
Date=13.10.2017 10:36
Theme=Не работает отсекатель
Description=ТРК-3 (Аи-95)
 
Цитата
wlad1164 написал:
в VBA имеем переменную
Очень рад за Вас!
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
Nordheim написал:
Очень рад за Вас!
Вы это к чему сейчас?
Если юмор то не смешно
Если критика то непонятно, можно переформулировать для менее смышленых?
 
Правила: о названии темы, о файле-примере
 
Это не юмор, это горькая правда - у вас переменная - есть, у нас - нет. У нас даже вашего кода нет - как там эта переменная объявлена/нарисована, пойди знай.
Обидно, да?
Кому решение нужно - тот пример и рисует.
 
Цитата
vikttur написал:
о файле-примере
Нету файла примера, макрос находится в Outlook

Переменная берется из входящего email (макрос ну очень сильно обрезал)
Код
    Dim zayavka 
       
Sub palneta() 
        Set mailItems = Application.Session.GetDefaultFolder(olFolderInbox).Items
        Set mailmsg = mailItems.GetLast
        If mailmsg Is Nothing Then
            GoTo ForNext
        End If
            Theme = mailmsg.Subject
            zayavka = mailmsg.Body
            user = mailmsg.To
End sub
На форумах куча подобных вопросов, но там Excel и все сводится к "текст по столбцам"
Понимаю что пишу на форум Excel спрашивая о Outlook'е но VBA оно и в Африке VBA
Цитата
Пытливый написал:
У нас даже вашего кода нет
Как нет? Читай со 2й по 7ю строку, ну только нужно поместить в
"Sub name()
Dim zayavka
....
End Sub"
 
перенос строк чем обозначен? cr+lf?
F1 творит чудеса
 
Т.к. изначально это текстовое поле то перенос выполнен обычным "Enter"
Как он правильно обозначается в письме почты в формате "Формат RTF (HTML)" увы не знаю
 
Максим Зеленский,если для упрощения кода нужно в исходный шаблон что то добавить то это не проблема
(например символ ";" в конце каждой строки)
 
Код
Sub wewe()
Dim zayavka$, a, Technician$, ID&, Author$, Date1, Theme$, Description$
zayavka = "Фамилия Имя, вам назначена заявка № 169" & vbCrLf & _
"Заявитель:  АЗК -34" & vbCrLf & _
"Создал: ФамилияИмя" & vbCrLf & _
"Дата создания: 13.10.2017 10:36" & vbCrLf & _
"Тема: Не работает отсекатель" & vbCrLf & _
"Описание : ТРК-3 (Аи-95)" & vbCrLf & _
"Для просмотра подробных сведений перейдите по ссылке http://sik.wlad1164.ru/RequestLink"
'Technician=Фамилия Имя
'ID = 169
'Autor = АЗК - 34
'Date=13.10.2017 10:36
'Theme=Не работает отсекатель
'Description=ТРК-3 (Аи-95)

a = Split(zayavka, vbCrLf)
Technician = Trim$(Split(a(0), ",")(0))
ID = Trim$(Split(a(0), "№")(1))
Author = Trim$(Split(a(1), ":")(1))
Date1 = CDate(Trim$(Split(a(3), ": ")(1)))
Theme = Trim$(Split(a(4), ":")(1))
Description = Trim$(Split(a(5), ":")(1))

End Sub
F1 творит чудеса
 
Максим Зеленский,большое спасибо! Сейчас выберу время и испробую, по результату обязательно отпишусь
Изменено: wlad1164 - 13.10.2017 12:06:26
 
Название темы кто теперь предложит?
 
Максим Зеленский, в outlook ругается на строке
Код
Date1 = CDate(Trim$(Split(a(3), ": ")(1)))
Скрытый текст
Техник, ИД , автор, тема и описание работает верно

Немного изменил код  даты (по аналогии с другими сроками)
Скрытый текст
работает, но минуты отрезает (т.к. символ ":") поможешь поправить?
Изменено: wlad1164 - 13.10.2017 14:46:06
 
Реагировать на замечание будете? Два раза написал...
Название темы должно отражать суть задачи. Уточните. Предложите новое. Модераторы заменят.
 
vikttur, формулировать замечания правильно будете?
По порядку:
Цитата
vikttur написал:
Правила: о названии темы, о файле-примере
Вы читать то что ответили не пробовали?
Повторюсь: какой файл примера в outlook?! Как можно предоставить то чего быть не может?!
О названии: чем не устраивает текущее?
Суть задачи в том чтобы средствами VBA просмотреть переменную в нем же и разбить её на части по ключевым словам что есть синтаксический анализ, что есть парсинг [имхо]
Цитата
vikttur написал:
Реагировать на замечание будете? Два раза написал...
Название темы должно отражать суть задачи. Уточните. Предложите новое. Модераторы заменят.
Реагировать на что? Если про файл примера-прочитайте чуть выше
Если про Название темы- читайте там же

И встречный вопрос, тему читать будите? (извиняюсь если прозвучит грубо)

Даже если Вы 3 раза напишите в таком же формате, ничего не изменится, я бы рад назвать тему так как по Вашему мнению было бы более правильно, но без озвучивания Вами этого никто кроме Вас не узнает...
 
Цитата
wlad1164 написал: О названии: чем не устраивает текущее?
Тем, что оно общее. Проблема, задача где?
Тема уже не Ваша, она для всех посетителей. Люди будут искать похожее решение. Им все темы о парсерах просматривать? Так давйте все темы назовем VBA!
Вас просят помочь форуму. помочь будущим посетителям.

Цитата
Вы читать то что ответили не пробовали?
И где Вы предложили название?

P.S. Название предложено в личке, поменял. Но потом...
Цитата
И встречный вопрос, тему читать будите?
Не обязан. Но почитал. Нашел:
Цитата
Понимаю что пишу на форум Excel спрашивая о Outlook'е но VBA оно и в Африке VBA
Но не понимаете, что программы разные, объектные модели VBA разные. Поэтому тема на форуме по Excel не имеет права на жизнь. Или будем здесь и о Word говрить, и для PowerPoint макросы писать?

Цитата
поможешь поправить?
На этом форуме с незнакомыми общаются на "Вы"
Страницы: 1
Читают тему
Наверх