Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
VBA. Проблема с кодировкой при формировании электронных писем с вставкой таблицы в тело письма
 
sokol92, не совсем так.
Office 2016 / Windows Server 2019.
В посте #13 взят файл с сайта Дмитрия.
Вероятно есть ограничения метода FileSystemObject, но скорее всего не в моем случае, - проверил работу макроса из-под учетной записи другого пользователя (значения кодовой страницы и региональные настройки одинаковы), - все работает.
Вероятно проблема все-же в каких-то настройках, но в каких...
Спасибо Вам за участие, покопаю еще...
VBA. Проблема с кодировкой при формировании электронных писем с вставкой таблицы в тело письма
 
sokol92, прикладываю.
VBA. Проблема с кодировкой при формировании электронных писем с вставкой таблицы в тело письма
 
R Dmitry, спасибо,
попробовал добавить строку и для самой книги, и для временно создаваемой книги перед процедурой вставки html кода в html файл.
Проблема осталась.
VBA. Проблема с кодировкой при формировании электронных писем с вставкой таблицы в тело письма
 
sokol92, спасибо,
в браузере искажения. Причем теперь наоборот - текст в таблице отображается корректно, а вне - в измененной кодировке.
Код
<span style="font-size: 14px; font-family: Arial">Уважаемый клиент!<br />Только для Вас мы подготовили специальное предложение по товарам, которыми Вы интересовались в нашем Интернет-магазине:<br /><html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 15">
<link rel=File-List href="20-08-21%2010-14-27.files/filelist.xml">
<style id="Лист1_28574_Styles">
<!--table
   {mso-displayed-decimal-separator:"\,";
   mso-displayed-thousand-separator:" ";}
.xl1528574
   {padding-top:1px;
   padding-right:1px;
   padding-left:1px;
   mso-ignore:padding;
   color:black;
   font-size:11.0pt;
   font-weight:400;
   font-style:normal;
   text-decoration:none;
   font-family:Calibri, sans-serif;
   mso-font-charset:204;
   mso-number-format:General;
   text-align:general;
   vertical-align:bottom;
   mso-background-source:auto;
   mso-pattern:auto;
   white-space:nowrap;}
.xl6528574
   {padding-top:1px;
   padding-right:1px;
   padding-left:1px;
   mso-ignore:padding;
   color:gray;
   font-size:11.0pt;
   font-weight:400;
   font-style:normal;
   text-decoration:none;
   font-family:Calibri, sans-serif;
   mso-font-charset:204;
   mso-number-format:General;
   text-align:general;
   vertical-align:bottom;
   mso-background-source:auto;
   mso-pattern:auto;
   white-space:nowrap;}
.xl6628574
   {padding-top:1px;
   padding-right:1px;
   padding-left:1px;
   mso-ignore:padding;
   color:#D9D9D9;
   font-size:11.0pt;
   font-weight:700;
   font-style:normal;
   text-decoration:none;
   font-family:Calibri, sans-serif;
   mso-font-charset:204;
   mso-number-format:General;
   text-align:center;
   vertical-align:middle;
   border:1.0pt solid #F8CBAD;
   background:#305496;
   mso-pattern:black none;
   white-space:normal;}
.xl6728574
   {padding-top:1px;
   padding-right:1px;
   padding-left:1px;
   mso-ignore:padding;
   color:windowtext;
   font-size:8.0pt;
   font-weight:400;
   font-style:normal;
   text-decoration:none;
   font-family:Arial, sans-serif;
   mso-font-charset:204;
   mso-number-format:General;
   text-align:left;
   vertical-align:bottom;
   border:.5pt solid windowtext;
   mso-background-source:auto;
   mso-pattern:auto;
   white-space:nowrap;}
.xl6828574
   {padding-top:1px;
   padding-right:1px;
   padding-left:1px;
   mso-ignore:padding;
   color:windowtext;
   font-size:8.0pt;
   font-weight:400;
   font-style:normal;
   text-decoration:none;
   font-family:Arial, sans-serif;
   mso-font-charset:204;
   mso-number-format:"\#\,\#\#0\.00\0022СЂ\.\0022";
   text-align:left;
   vertical-align:bottom;
   border:.5pt solid windowtext;
   mso-background-source:auto;
   mso-pattern:auto;
   white-space:nowrap;}
.xl6928574
   {padding-top:1px;
   padding-right:1px;
   padding-left:1px;
   mso-ignore:padding;
   color:windowtext;
   font-size:8.0pt;
   font-weight:400;
   font-style:normal;
   text-decoration:none;
   font-family:Arial, sans-serif;
   mso-font-charset:204;
   mso-number-format:0%;
   text-align:left;
   vertical-align:bottom;
   border:.5pt solid windowtext;
   mso-background-source:auto;
   mso-pattern:auto;
   white-space:nowrap;}
-->
</style>
</head>

<body>
<!--[if !excel]>  <![endif]-->
<!--Следующие сведения были подготовлены мастером публикации веб-страниц
Microsoft Excel.-->
<!--При повторной публикации этого документа из Excel все сведения между тегами
DIV будут заменены.-->
<!----------------------------->
<!--НАЧАЛО ФРАГМЕНТА ПУБЛИКАЦИИ МАСТЕРА ВЕБ-СТРАНИЦ EXCEL -->
<!----------------------------->

<div id="Лист1_28574" align=left x:publishsource="Excel">

<table border=0 cellpadding=0 cellspacing=0 width=527 style='border-collapse:
 collapse;table-layout:fixed;width:396pt'>
 <col width=217 style='mso-width-source:userset;mso-width-alt:7936;width:163pt'>
 <col width=90 style='mso-width-source:userset;mso-width-alt:3291;width:68pt'>
 <col width=103 style='mso-width-source:userset;mso-width-alt:3766;width:77pt'>
 <col width=117 style='mso-width-source:userset;mso-width-alt:4278;width:88pt'>
 <tr height=21 style='height:15.75pt'>
  <td height=21 class=xl6528574 width=217 style='height:15.75pt;width:163pt'>Таблица
  РґР»СЏ вставки</td>
  <td class=xl1528574 width=90 style='width:68pt'></td>
  <td class=xl1528574 width=103 style='width:77pt'></td>
  <td class=xl1528574 width=117 style='width:88pt'></td>
 </tr>
 <tr height=61 style='height:45.75pt'>
  <td height=61 class=xl6628574 width=217 style='height:45.75pt;width:163pt'>Наименование
  С‚овара</td>
  <td class=xl6628574 width=90 style='border-left:none;width:68pt'>Стандартная
  С†РµРЅР°</td>
  <td class=xl6628574 width=103 style='border-left:none;width:77pt'>Ваша
  РїРµСЂСЃРѕРЅР°Р»СЊРЅР°СЏ СЃРєРёРґРєР°</td>
  <td class=xl6628574 width=117 style='border-left:none;width:88pt'>Цена СЃРѕ
  СЃРєРёРґРєРѕР№</td>
 </tr>
 <tr height=20 style='height:15.0pt'>
  <td height=20 class=xl6728574 style='height:15.0pt'>Пылесос KARCHER</td>
  <td class=xl6828574 style='border-left:none'>14 400,00СЂ.</td>
  <td class=xl6928574 style='border-left:none'>7%</td>
  <td class=xl6828574 style='border-left:none'>13 392,00СЂ.</td>
 </tr>
 <tr height=20 style='height:15.0pt'>
  <td height=20 class=xl6728574 style='height:15.0pt;border-top:none'>Р РѕР±РѕС‚-пылесос
  REDMOND</td>
  <td class=xl6828574 style='border-top:none;border-left:none'>12 800,00СЂ.</td>
  <td class=xl6928574 style='border-top:none;border-left:none'>7%</td>
  <td class=xl6828574 style='border-top:none;border-left:none'>11 904,00СЂ.</td>
 </tr>
 <![if supportMisalignedColumns]>
 <tr height=0 style='display:none'>
  <td width=217 style='width:163pt'></td>
  <td width=90 style='width:68pt'></td>
  <td width=103 style='width:77pt'></td>
  <td width=117 style='width:88pt'></td>
 </tr>
 <![endif]>
</table>

</div>


<!----------------------------->
<!--КОНЕЦ ФРАГМЕНТА ПУБЛИКАЦИИ МАСТЕРА ВЕБ-СТРАНИЦ EXCEL-->
<!----------------------------->
</body>

</html>
<br />Будем рады видеть Вас среди наших постоянных клиентов!<br />(а для постоянных клиентов у нас действуют еще более выгодные условия)<br /><br />С уважением, Дмитрий<br />менеджер по работе с постоянными клиентами</span>
VBA. Проблема с кодировкой при формировании электронных писем с вставкой таблицы в тело письма
 
sokol92,спасибо,
по шагам проверял, временный файл формируется в читаемом формате - и табличная часть, и содержимое вне таблицы.
Галку ставил. После перезагрузки стала наблюдаться описанная проблема с VBA редактором и работой макросов.
Поэтому галку снял, перезагрузил, проблема осталась.
VBA. Проблема с кодировкой при формировании электронных писем с вставкой таблицы в тело письма
 
sokol92, прошу прощения, функция ConvertRngToHTM.
RangetoHTML - так она называется в первоисточнике у Рона.

Значения в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Code­Page
OEMCP: 866
ACP: 1251
MACCP: 10007

Нужно менять какие-то из этих параметров? Или куда-то еще посмотреть стоит?
Изменено: Alexander123 - 17.08.2021 21:24:39
VBA. Проблема с кодировкой при формировании электронных писем с вставкой таблицы в тело письма
 
sokol92, проблема не в файле, и не в макросе, а вероятно в каких-то системных настройках...
Используется функция RangetoHTML от Ron de Bruin.
Изменение параметров в части OpenAsTextStream() проблему не решает.
В качестве примера прилагаю файл.
VBA. Проблема с кодировкой при формировании электронных писем с вставкой таблицы в тело письма
 
Добрый день, уважаемые форумчане,
Макрос, опубликованный Дмитрий(The_Prist) Щербаков
https://www.excel-vba.ru/chto-umeet-excel/vstavit-v-pismo-outlook-tablicu-excel-s-formatirovaniem/
при формировании письма отображает табличную часть в отличной от остального текста кодировке.
В чем может быть источник проблемы?
VBA. Связанные выпадающие списки с поиском и combobox
 
Ігор Гончаренко, спасибо, однако не совсем то.
В предложенном Вами решении с использованием именованных диапазонов и проверке данных есть два существенных ограничения:
1. Списки должны быть отсортированы;
2. Нет возможности поиска.

Поэтому вопрос открыт, возможно ли сделать поиск по связанному списку в столбце C по тому же принципу, как в столбце B в исходном файле примера?
Изменено: Alexander123 - 05.08.2021 13:58:38
VBA. Связанные выпадающие списки с поиском и combobox
 
Уважаемые форумчане,
подскажите, пожалуйста, как реализовать поиск в связанных выпадающих списках через combobox?

В прикрепленном файле макрос через combobox выполняет поиск по списку.
Как заставить макрос выполнять поиск по связанному списку?

Пример: есть список компаний. Макрос через combobox выполняет поиск по компаниям.
Также есть связанный список сотрудников в каждой компании.
Нужно осуществить выбор сотрудников (поиск) в выбранной на первом этапе компании.

Пример во вложении.
Кэширование запросов Power Query к веб странице для ускорения вывода на лист
 
Михаил Л, спасибо!
Кэширование запросов Power Query к веб странице для ускорения вывода на лист
 
Вопрос с загрузкой на лист решен. Помог ManualStatusHandling.
Но можно ли увеличить скорость обработки запроса?
Кэширование запросов Power Query к веб странице для ускорения вывода на лист
 
Уважаемые знатоки, добрый день,
есть ли способ кэшировать результаты запроса PQ к веб странице для последующего вывода на лист?
Или может быть есть другой более эффективный способ получить данные?
При нескольких тысячах строк запрос выполняется достаточно долго, а при попытке загрузить данные на лист происходит обновление запроса и в итоге, к сожалению, запрос завершается ошибкой.

В запросе используется функция:
Код
let
    Источник = (link) => let
        Источник = Web.Page(Web.Contents(link)),
        #"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([Source] = "Table")),
        #"Развернутый элемент Data" = Table.ExpandTableColumn(#"Строки с примененным фильтром", "Data", {"Column1", "Column2", "Column3"}, {"Column1", "Column2", "Column3"}),
        #"Условный столбец добавлен" = Table.AddColumn(#"Развернутый элемент Data", "Пользовательская", each if [Column2] = null then [Column3] else if [Column3] = null then [Column2] else null),
        #"Удаленные столбцы" = Table.RemoveColumns(#"Условный столбец добавлен",{"Column2", "Column3", "Id", "Caption", "Source", "ClassName"}),
        #"Транспонированная таблица" = Table.Transpose(#"Удаленные столбцы"),
        #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица", [PromoteAllScalars=true])
    in
        #"Повышенные заголовки"
in
    Источник

Буду признателен за помощь.

Power Query - Объединение столбцов с "пустыми" заголовками
 
PooHkrd, спасибо!!!
Power Query - Объединение столбцов с "пустыми" заголовками
 
PooHkrd, огромное спасибо!!!
Power Query - Объединение столбцов с "пустыми" заголовками
 
Прошу прощения, обновлю файл примера. Поторопился.
Имеются запросы к листам, где в структуре есть столбцы с отсутствующими названиями.
При формировании запроса в умной таблице появляются заголовки Столбец1 ... Столбецn.
Да, все верно, нужно сливать к параметру столбец справа или несколько столбцов справа, однако в разных запросах расположение и количество столбцов может отличаться.
Изменено: Alexander123 - 21.11.2019 11:11:58
Power Query - Объединение столбцов с "пустыми" заголовками
 
Уважаемые форумчане, подскажите, пожалуйста, как реализовать задачу объединения столбцов по условию.
Даны таблицы, в которых частично отсутствуют заголовки столбцов.
Столбцы с "пустыми" заголовками могут быть в разных местах.
Таблица1
ИмяПараметр1Параметр 2Параметр 3Параметр 4Параметр 5
ае
бжл
вз1мпс
ги2но5
дк
Таблица2
ИмяПараметр1Параметр 2 Параметр 3Параметр 4 Параметр 5
т6 цчш2
у78фх щ
На выходе нужно получить таблицу вида
ИмяПараметр1Параметр 2Параметр 3Параметр 4Параметр 5
ае
бжл
вз 1мп с
ги 2н о 5
дк
т6цч ш 2
у78 ф хщ
Изменено: Alexander123 - 21.11.2019 11:28:46
Отправка запроса в веб форму на сайт через PowerQuery
 
PooHkrd,спасибо,
Вы правы, нужно изучать вопрос формирования заголовков и строки запроса.
Сайт принимает запросы xml, нашел что-то похожее на мою проблематику, но пока это не очень приблизило к решению задачи.
Будем искать.
Отправка запроса в веб форму на сайт через PowerQuery
 
Не очень понял комментарий. Дальше файла не надо.
Нужно послать запрос на странице и вернуть ответ. В запросе указать ИНН. Насколько я понимаю, для этого нужно сформировать POST запрос, содержащий ряд параметров, и вопрос мой в целом - как этот запрос сформировать, и как он должен выглядеть.

За ссылку спасибо, однако интересует возможность решения задачи через PQ.
Изменено: Alexander123 - 08.11.2019 16:07:57
Отправка запроса в веб форму на сайт через PowerQuery
 
Добрый день,
подскажите, пожалуйста, возможно ли реализовать отправку запроса в веб форму поиска на сайте через PowerQuery?
Ресурс бесплатный, при отправке значения (поиске) "руками" браузер формирует некий запрос.
Я уверен, что через PowerQuery можно подобные запросы генерировать автоматически, но как - знаний не хватает.
Во вложении пример.
Буду признателен за помощь.
Power Query - подключение к источнику веб-данных по логину и паролю
 
PooHkrd, к манагерам обратился, - сказали, что API не дают.
Power Query - подключение к источнику веб-данных по логину и паролю
 
В результате анализа англоязычных ресурсов пришел к выводу, что успех подключения такого рода зависит от способа аутентификации конкретного сайта.
Кому-то помог способ ловли зашифрованных отправляемых данных через Fiddler с последующим прописыванием их в параметрах базового подключения Power Query и указанием в параметрах заголовка http запроса значения Authorization.
Для ресурса, обозначенного в топе, этот способ, к сожалению, не помог.
Power Query - подключение к источнику веб-данных по логину и паролю
 
Пытаюсь настроить подключение к ресурсу для сбора данных о контрагентах через power query.
Ресурс требует ввода учетных данных (логин и пароль). Учетные данные имеются.
В настройках источника данных пробовал различные варианты правки разрешений - базовое подключение, windows - безрезультатно, просит ввести корректные данные.
Если кто-нибудь сталкивался с подобными подключениями, требующими аутентификации, подскажите, как их можно реализовать?
Надстройка Дэвида Миллера по работе с закладками
 
Казанский, доступ к статье есть у всех.
Достаточно кликнуть на сообщение под баннером Click here to view the full article.
Надстройка Дэвида Миллера по работе с закладками
 
Добрый вечер,
подскажите, пожалуйста, как можно реализовать в надстройке Дэвида Миллера по работе с закладками блок по экспорту именованных таблиц в Word?
Ссылка на описание надстройки и сама надстройка здесь  
Распределение текста по столбцам с заголовками в зависимости от регистра
 
БМВ, огромное спасибо!

Разораться бы теперь, как она работает :-)
Пойду изучать!
Распределение текста по столбцам с заголовками в зависимости от регистра
 
Добрый день,

даны строки с текстом, состоящие из словосочетаний и слов прописными и строчными буквами, и список заголовков таблицы, по которым нужно разнести словосочетания по принципу, если словосочетание прописными буквами и равно заголовку таблицы, то следующее за ним словосочетание строчными буквами нужно поместить в соответствующий столбец.

Пример во вложении.
Распознавание диапазонов на листе и разнесение данных по столбцам на другой лист/книгу
 
Максим Зеленский, путь реализации - VBA или PQ - не принципиален. Здесь вопрос дальнейшей автоматизации процесса.
Цитата
Максим Зеленский написал:
хотя вполне решается проверкой количества столбцов следующего блока
Я в эту сторону тоже думал, но можно ли реализоавть такую проверку, когда есть вероятность, что в блоке будут пустые столбцы, т.е. когда диапазон будет рваным?

Хотя можно добавить в область распознавания наименования столбцов - и тогда этот блок точно не будет рваным.
Изменено: Alexander123 - 19.02.2019 16:02:50 (Дополнение мысли)
Распознавание диапазонов на листе и разнесение данных по столбцам на другой лист/книгу
 
Добрый день

подскажите, пожалуйста, можно ли реализовать на VBA алгоритм распознавания диапазонов на листе, с помощью которого в зависимости от количества столбцов в каждом диапазоне раскидывались данные в таблицу на другой лист?
Во вложении на Листе 1 – пример распознанных данных (цветами помечены блоки), на листе 2 – желаемый результат.

Имеются несколько сотен отсканированных листов.
Отсканированные данные можно логически разделить на несколько блоков:
1.       Блок 1 - номер страницы (в начале распознанного листа);
2.       Блок 2 - строка с данными в трех ячейках (возможны пустые ячейки);
3.       Блок 3 - строка с данными в двух ячейках;
4.       Блок 4 - строка, либо таблица с данными 7 x n, где 7 – постоянное количество столбцов, n – количество строк (возможны пустые ячейки);[/P]
5.       Блок 5 - таблица с данными 18 x 2n, где 18 – постоянное количество столбцов, 2n – количество строк (возможны пустые ячейки). Этот блок может быть, а может и не быть на листе. Блок представляет собой пояснение к блоку 4.

На листе может быть несколько таких групп блоков. Последовательность блоков: Блок 2 - Блок 3 - Блок 4 - Блок 5 (опционально)
По Блоку 3 - вероятно вопрос отдельной темы - текстовые данные строчными буквами нужно раскидать по столбцам соответственно наименовнию столбцов прописными буквами.

Куда копать?
Страницы: 1
Наверх