Outlook для Excel VBA для перезаписывания предыдущих данных
У меня возникли проблемы с макросом excel, который я нашел на форуме, но я не могу решить проблемы, так как я действительно не знаю, что я ищу, чтобы исправить это.
Во-первых, я объясню, что я хочу сделать, а затем вставлю VBA, который я использую, чтобы делать то, что хочу.
- Я хочу, чтобы Outlook просто копировал определенную часть моего сообщения электронной почты в определенную ячейку. Часть электронной почты, которую я хочу, будет либо «000000», либо «100000». Я хочу, чтобы он перешел в B17 и перезаписал все предыдущие данные.
На данный момент я получаю весь текст электронной почты в строке ниже того, какие данные были скопированы раньше, и я не могу поменять, где он идет (в настоящий момент он переходит в A1 и отклоняется вертикально).
- Извлечь данные из электронной почты Outlook в Excel
- VBA: выберите первую отфильтрованную ячейку, затем перейдите на следующую
- Форма PHP для Excel
- Автоматические почтовые сообщения Outlook с использованием VBA
- Ссылка в другой учетной записи
- Excel хочет открывать и закрывать каждый раз, когда получает электронное письмо, что плохо для того, что я пытаюсь сделать. Я хочу, чтобы этот рабочий лист оставался открытым, но просто сохраняйте после ввода каких-либо данных из Outlook.
Этот лист будет использоваться как удаленный рабочий стол для мониторинга, поэтому люди могут просто подойти к экрану и сказать: да, это самая последняя информация, не ища и не ища его (большинство людей, которые будут использовать этот удаленный рабочий стол, не будут знакомы с нашим сервером, поэтому не знаю, где его найти, а также мы фактически не хотим, чтобы люди следили за нашим сервером!).
В любом случае, вот код:
Const xlUp As Long = -4162 Sub ExportToExcel(MyMail As MailItem) Dim strID As String, olNS As Outlook.NameSpace Dim olMail As Outlook.MailItem Dim strFileName As String '~~> Excel Variables Dim oXLApp As Object, oXLwb As Object, oXLws As Object Dim lRow As Long strID = MyMail.EntryID Set olNS = Application.GetNamespace("MAPI") Set olMail = olNS.GetItemFromID(strID) '~~> Establish an EXCEL application object On Error Resume Next Set oXLApp = GetObject(, "Excel.Application") '~~> If not found then create new instance If Err.Number <> 0 Then Set oXLApp = CreateObject("Excel.Application") End If Err.Clear On Error GoTo 0 '~~> Show Excel oXLApp.Visible = True '~~> Open the relevant file Set oXLwb = oXLApp.Workbooks.Open("\\server-01\company\Rachael\VBAs\Control Panel Visual Layout.xlsm") '~~> Set the relevant output sheet. Change as applicable Set oXLws = oXLwb.Sheets("Control Panel") lRow = oXLws.Range("A" & oXLApp.Rows.Count).End(xlUp).Row + 1 '~~> Write to outlook With oXLws ' '~~> Code here to output data from email to Excel File '~~> For example ' .Range("A" & lRow).Value = olMail.Body ' End With '~~> Close and Clean up Excel oXLwb.Close (True) oXLApp.Quit Set oXLws = Nothing Set oXLwb = Nothing Set oXLApp = Nothing Set olMail = Nothing Set olNS = Nothing End Sub
Любая помощь будет оценена, я потратил около 2 недель на то, чтобы всевозможные вещи из Google, но безрезультатно!
- Экспорт электронной почты / органа электронной почты с темой «ПРЕДУПРЕЖДЕНИЕ: Ошибка доставки сообщений» из Outlook 2007
- Excel создает электронную почту Outlook, но текст не выравнивается
- Excel VBA Отправить Email
- Вставить содержимое ячеек в Outlook, поддерживая форматирование
- Текстовое поле подсказки, которое будет сохранять форматирование Outlook
- Отправка электронной почты от Excel с помощью VBA - Outlook, добавляющий цвет фона
- PHP создает электронную таблицу Excel, а затем посылает ее по электронной почте в виде вложения
- Каждая строка отправляет электронное письмо тому же получателю