Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Данные из OUTLOOK в EXCEL (средствами VBA) / 7 сообщений из 7, страница 1 из 1
09.04.2007, 08:21:05
    #34446281
serg78
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из OUTLOOK в EXCEL (средствами VBA)
добРЫЙ день всем форумчанам.. помогите если есть такое решение ...
необходимо производить вставку данных из тела письма из oulook 2003 в excel 2003 средствами VBA непосредственно из самого excel-я , отбор вставляемых данных проводится по критериям темы письма и адрема отправителя..

Заранее спасибо!!!
...
Рейтинг: 0 / 0
09.04.2007, 23:14:21
    #34448645
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из OUTLOOK в EXCEL (средствами VBA)
http://msdb.ru/Downloads/Partner/Events/Materials/020300/2Outlook_KM_Kyiv.ppt

Здесь посмотри - должно помочь.
...
Рейтинг: 0 / 0
10.04.2007, 04:59:51
    #34448743
serg78
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из OUTLOOK в EXCEL (средствами VBA)
The page must be viewed over a secure channel/// ((
...
Рейтинг: 0 / 0
10.04.2007, 10:02:29
    #34449024
serg78
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из OUTLOOK в EXCEL (средствами VBA)
ну все что я смог звлечь из приложенного файла так это получить доступ к папке .. с сообщениями , хотя и в этом не уверен.. а вот как обработать ? нашел кое что в инете :
Public Sub SavePismo()
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myfolders = myNameSpace.GetDefaultFolder(olFolderInbox)
Set mailItems = Application.Session.GetDefaultFolder(olFolderInbox).Items
For Each it In mailItems
If it.UnRead Then Set direct = CreateObject("Scripting.FileSystemObject")
If it.SenderName = "" Then it.SenderName = "un_name"
md = "C:\Temp\"
mdd = "C:\Temp\" & Str(Date) & "\"
mddM = "C:\Temp\" & Str(Date) & "\" & it.SenderName & "\"
If Not direct.folderexists(md) Then MkDir (md)
If Not direct.folderexists(mdd) Then MkDir (mdd)
If Not direct.folderexists(mddM) Then MkDir (mddM)
fileforsave = it.SenderName & ".txt"
it.SaveAs mddM & "\" & fileforsave, olTXT
Next
End Sub
однако ругается на строку "If Not direct.folderexists(md) Then" Object required !!

помогите ... народ...
...
Рейтинг: 0 / 0
11.04.2007, 06:28:59
    #34451502
serg78
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из OUTLOOK в EXCEL (средствами VBA)
2Taranaga

сваял кое что:
Dim ns As Outlook.NameSpace
Dim mi As Outlook.MailItem
Dim fl As Outlook.MAPIFolder
Set ns = GetNamespace("MAPI")
Set fl = ns.Folders("serg").Folders("Входящие")
Set mi = fl.Items(fl.Items.Count)
Set direct = CreateObject("Scripting.FileSystemObject")
FileName = "C:\" & mi.Subject & ".txt"
Set file = direct.CreateTextFile(FileName, True)
file.Write mi.Body
но как сделать перебор сообщений ? и вставку Body в книгу excel ? подскажите ?
...
Рейтинг: 0 / 0
11.04.2007, 11:27:01
    #34452120
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из OUTLOOK в EXCEL (средствами VBA)
У меня вот так работает:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim oApp As Outlook.Application
Dim oNS As Outlook.NameSpace
Dim oProjectFolder As Outlook.MAPIFolder
Dim oFolders As Outlook.Folders
Set oApp = New Outlook.Application
Set oNS = oApp.GetNamespace("MAPI")
oNS.Logon
Set oProjectFolder = oNS.Folders("serg").Folders("Входящие")

k= 1 
If oProjectFolder.Items.Count >  0  Then
    For i =  1  To oProjectFolder.Items.Count
          Cells(k,  1 ) = oProjectFolder.Items(i).Body
          k = k +  1 
    Next i
End If
...
Рейтинг: 0 / 0
13.04.2007, 06:52:35
    #34457935
serg78
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из OUTLOOK в EXCEL (средствами VBA)
Sub maketov()

Ну вот после многоих дней мучений пришлось таки сесть и покопаться в лабиринтах VBA OUTLOOK // и в итоге вот что получилось. ))) Всем кто откликнулся огромное спасибо !!!
Dim ns As Outlook.NameSpace
Dim mi As Outlook.MailItem
Dim fl As Outlook.MAPIFolder


Set ns = GetNamespace("MAPI")
ns.Logon

Set fl = ns.Folders("diop").Folders("Входящие").Folders("макеты")

If fl.Items.Count > 0 Then
For i = 1 To fl.Items.Count
Set direct = CreateObject("Scripting.FileSystemObject")
FileName = "C:\Temp\" & fl.Items(i).Subject & ".xls"
Set File = direct.CreateTextFile(FileName, True)
File.Write fl.Items(i).Body
Next i
End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Данные из OUTLOOK в EXCEL (средствами VBA) / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]