Загрузка данных с использованием Power Query, Power Query - проблема в смещении столбцов при загрузке данных
Пользователь
Сообщений: Регистрация: 08.03.2022
13.10.2022 14:32:43
Добрый день! Помогите вот с такой проблемой: Ежемесячно энергосбыт присылает ведомости с разбивкой по районам - порядка 30 файлов excel. При загрузке через запрос в PQ в единую таблицу происходит смещение столбцов по некоторым таблицам из разных файлов. Сразу скажу, что порядок столбцов одинаковый. Но во всех файлах есть первый абсолютно пустой столбец. Такое ощущение, что запрос в некоторых случаях видит этот пустой столбец. На что обратить внимание, что проверить в исходных таблицах?
Выгрузка из Outlook нужных файлов и сохранение, Outlook
Пользователь
Сообщений: Регистрация: 08.03.2022
30.03.2022 15:34:13
Здравствуйте!
Доработал широкоизвестный макрос про выгрузку из аутлук вложения. Критерий поиска были ФИО абонента в теме письма и номер договора в теле письма. Но после того как письма стали приходить на другую учетную запись, макрос перестал искать нужное. Он вроде как ищет вложения во входящих письмах, а при поиске ошибки 400 я заметил что по факту он находит тело исходящего письма (!). Для наглядности добавил MsgBox oMail.Body. Также добавил, чтобы в нужной учетке искал, но не помогло. Public Sub FindSchet() Dim objOutlApp As Object, oNSpace As Object, oIncoming As Object Dim oIncMails As Object, oMail As Object, oAtch As Object Dim oAccount As Object, oAccounts As Object Dim IsNotAppRun As Boolean Dim sFolder As String Dim kolLetter As Long Dim myFilter As String Dim PathName As String Dim PozYa As Byte Dim PlaceYaDisk As String
'папка для сохранения счета PozYa = InStr(ActiveWorkbook.Path, "YandexDisk") PlaceYaDisk = VBA.Left(ActiveWorkbook.Path, PozYa - 1) sFolder = PlaceYaDisk & "YandexDisk\14 работа\1 ТЕХ ПРИС НАСЕЛЕНИЕ\0 Для публикации в ЛК заявителя\"
'подключаемся к Outlook (позднее связывание) On Error Resume Next Set objOutlApp = GetObject(, "outlook.Application") If objOutlApp Is Nothing Then Set objOutlApp = CreateObject("outlook.Application") IsNotAppRun = True End If 'получаем доступ к папкам почты Set oNSpace = objOutlApp.GetNamespace("MAPI") 'подключаемся к папке Входящие, почтового ящика по умолчанию Set oIncoming = oNSpace.GetDefaultFolder(6) 'Удаленные ==> GetDefaultFolder(3) 'Исходящие ==> GetDefaultFolder(4) 'Отправленные ==> GetDefaultFolder(5) 'Входящие ==> GetDefaultFolder(6)
'это будет фильтром писем myFilter = "[LastModificationTime] >= '01/07/2020'"
'просматриваем каждое письмо с учетом фильтра Set oAccount = objOutlApp.Account Set oAccounts = objOutlApp.Session.Accounts
For Each oAccount In oAccounts If oAccount = "" Then For Each oMail In oIncMails.Restrict(myFilter) 'ищем в теме письма ФИО абонента If oMail.Subject Like "*" & FIO & "*" Then MsgBox oMail.Body If oMail.Body Like "*" & NumDog & "*" Then
For Each oAtch In oMail.Attachments 'во вложении отбираем только файлы Excel If oAtch Like "*.xl*" Then s = GetAtchName(sFolder & NumDog & " " & FIO & " " & oAtch) DataScheta = oMail.ReceivedTime oAtch.SaveAsFile s Exit For End If Next End If End If