Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Sergey1111111
0 / 0 / 0
Регистрация: 10.10.2017
Сообщений: 2
1

Данные из Outlook в Excel

11.10.2017, 14:05. Просмотров 237. Ответов 1
Метки нет (Все метки)

Добрый день!
Нужна помощь, есть код, который пришедшему письму присваивает номер и записывает его в таблицу Excel:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Sub NZP(Item As Outlook.MailItem)
Dim Excel As Object
Set Excel = CreateObject("Excel.Application")
 
Papka = "C:\Users\Владислав\Desktop\Номер\"
File = "Данные"
File_2 = "Номер"
 
adr = Item.SenderEmailAddress 
 
Excel.Workbooks.Open FileName:=CStr(Papka & File) & ".xlsx" '
Excel.Application.Visible = True
 
Set aSheet = Excel.Workbooks(CStr(File) & ".xlsx").Worksheets("Лист1").Range("B2:C100")
 
With aSheet 
  Set c = .Find(adr)
  If Not c Is Nothing Then
    firstResult = c.Address
    sRowNumber = Mid(c.Address, (InStr(2, c.Address, "$") + 1))
    AddressP = "A" & CStr(sRowNumber)
    Familia = Excel.Workbooks(CStr(File) & ".xlsx").Worksheets("Лист1").Range(CStr(AddressP))
  Else
    MsgBox "Почты: " + adr + " не найдено"
    Exit Sub
  End If
End With
 
Excel.Workbooks.Close 
 
Excel.Workbooks.Open FileName:=CStr(Papka & File_2) & ".xlsm" 
Excel.ActiveWorkbook.RunAutoMacros xlAutoOpen
Excel.Application.Visible = True
   
 
'Set rF = Excel.Workbooks(CStr(File) & ".xlsx").Worksheets("Лист1").Range("C1:C1000000").Find("*", , xlValues, xlWhole, xlPrevious) 
    'If Not rF Is Nothing Then
        'lLastRow = rF.Row
        'lLastCol = rF.Column
        'MsgBox rF.Address
    'Else
 
        'lLastRow = 1
        'lLastCol = 1
    'End If
 
lLastRow = Excel.Workbooks(CStr(File_2) & ".xlsm").Worksheets("Лист1").Cells(1, 15)
lLastRowN = lLastRow + 1
If lLastRow = 1 Then
 Nomer = 1
Else
 Nomer = Excel.Workbooks(CStr(File_2) & ".xlsm").Worksheets("Лист1").Cells(lLastRow, 3) + 1
End If
DataS = Date
 
Excel.Workbooks(CStr(File_2) & ".xlsm").Worksheets("Лист1").Cells(lLastRowN, 1).Value = Familia 
Excel.Workbooks(CStr(File_2) & ".xlsm").Worksheets("Лист1").Cells(lLastRowN, 3).Value = Nomer 
Excel.Workbooks(CStr(File_2) & ".xlsm").Worksheets("Лист1").Cells(lLastRowN, 2).Value = DataS 
 
Excel.Application.DisplayAlerts = False
ActiveWorkbook.RunAutoMacros xlAutoClose
Excel.Workbooks.Close 
Excel.Application.Quit
Excel.Application.DisplayAlerts = True
 
Set Excel = Nothing 
Set aSheet = Nothing 
Set c = Nothing 
 
 
 
End Sub
Все просто, но для записи в конец таблицы мне нужно определить последнию заполнению строку. Стандартный и проверенный способ "Excel.Workbooks(CStr(File_2) & ".xlsm").Worksheets("Лист1").Cells(Rows.Count, 3).End(xlUp).Row" отказывается работать.
Я не до конца видимо понял объектную модель, но данная конструкция у меня не работает, находил аналогичные макросы и там все работало, у меня нет.
Просчет в файле Excel (макрос при старте) не запускается от слова совсем, ошибка 1004 не верно завершен метод...класса...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2017, 14:05
Ответы с готовыми решениями:

Данные из писем Outlook => Excel. Угощаю пивом за помощь :)
Здравствуйте господа! Очень нужна Ваша помощь. Задача состоит в следующем: ...

Создание таблицы в Excel, данные берем из писем Outlook
Здравствуйте! Имеется ряд писем в outlookе вида: Имя: Загрузка реестра...

Запрос через Outlook, обработка в Excel, ответ через Outlook
Уважаемые VB & VBA_ програмисты! Насколько возможно реализовать следующую...

Excel из Outlook
Продолжаю наскоком разбираться с VBA Хочу по приходу письма занести в таблицу...

Excel->Outlook-> Приложения?
Накрапал в Excele вот такое: Range('A3').Select ...

1
Sergey1111111
0 / 0 / 0
Регистрация: 10.10.2017
Сообщений: 2
13.10.2017, 16:54  [ТС] 2
Всем спасибо!
Все получилось!
Тему можно закрыть.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2017, 16:54

Outlook, массив в Excel
Здравствуйте! Мне нужно написать макрос в Outlookе, который обрабатывает данные...

Запуск макроса excel из outlook
Добрий день! Хочу запустить макрос excel из outlook. Я пробовал так: Код:...

Запуск из Outlook макроса Excel
Форумчане, добрый день! Столкнулся со следующей проблемой при написании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru