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

Страницы: 1
Отправка писем через Powershell из VBA, Отправка с вложением картинки в тело письма
 
Буду очень признателен за помощь в таком вопросе.
Из VBA необходимо отправлять письма через power shell.
Если запускать код в powershell, то он отправляет месседж с картинкой в теле:

Цитата

$Body = @"

   <html>

           This is image 1

           <img src='cid:logo.png'>

       </body>

   </html>

"@

Send-MailMessage -To mymail@mail.ru `

   -from mymail@mail.ru`

   -SmtpServer 111.111.33.3 `

   -Subject "Hello" `

   -BodyAsHtml -body $body `

   -Encoding ‘UTF8’ `

   -Attachments "K:\Jobs\logo.png"



Но если его переписать в VBA, то он не отправляется. Код (из него даже картинку убрал, но не пропускает):

Цитата
Sub mail()
Dim strCmd As String
Dim WsShell As Object

body = "$Body = @" & Chr(34) & Chr(10) & "This is image 1" & Chr(10) & Chr(34) & "@" & Chr(10)

strCmd = body & "Send-MailMessage -To mymail@mail.ru `" _
  & " -from mymail@mail.ru `" _
  & " -SmtpServer 111.111.33.3 `" _
  & " -Subject " & Chr(34) & "Hello" & Chr(34) & " `" _
  & " -BodyAsHtml -body $Body `" _
  & " -Encoding 'UTF8' `" _
  & " -Attachments " & Chr(34) & "K:\Jobs\logo.png" & Chr(34)

Set WsShell = CreateObject("WScript.Shell")
WsShell.Run "PowerShell -Command " & Chr(10) & strCmd, 0, True

Cells(1, 1) = strCmd 'проверка
End Sub

А еще есть такой код - он более громоздкий, но письмо отправляет, правда в боди проходит только текст, а картинку не понимаю как вставить.

Цитата
Public Sub SendEmail()
ActiveWorkbook.SaveCopyAs "C:\Jobs\Отчет_АВТО.xlsm"
Dim strCmd As String
Dim WsShell As Object

текст = "

Привет!

" _
& "

Тестовое письмо из power shell. "
'

<img src=" & Chr(39) & "logo.png" & Chr(39) & ">"

текст2 = "This is image 1"

'присваиваем значения переменным PowerShell
strCmd = strCmd & "$serverSmtp = " & Chr(34) & "111.111.33.3" & Chr(34) & ";"
'strCmd = strCmd & "$port = " & intPort & ";"
strCmd = strCmd & "$from = " & Chr(34) & "<" & "mymail@mail.ru" & ">" & Chr(34) & ";"
strCmd = strCmd & "$to = " & Chr(34) & "mymail@mail.ru" & Chr(34) & ";"
strCmd = strCmd & "$cc = " & Chr(34) & "mymail@mail.ru" & Chr(34) & ";"
strCmd = strCmd & "$subject = " & Chr(34) & "Тестовое письмо" & Chr(34) & ";"
strCmd = strCmd & "$user = " & Chr(34) & "user" & Chr(34) & ";"
strCmd = strCmd & "$pass = " & Chr(34) & "passw" & Chr(34) & ";"

'создаем объект Сообщения Email
strCmd = strCmd & "$mes = New-Object System.Net.Mail.MailMessage;"
strCmd = strCmd & "$mes.From = $from;"
strCmd = strCmd & "$mes.To.Add($to);"
strCmd = strCmd & "$mes.cc.Add($cc);"
strCmd = strCmd & "$mes.Subject = $subject;"

'отправка в виде HTML страницы
   strCmd = strCmd & "$mes.IsBodyHTML = $true;"
'отправка с телом письма
       strCmd = strCmd & "$body = " & Chr(34) & текст2 & Chr(34) & ";"
       strCmd = strCmd & "$mes.Body = $body;"

'отправка письма с вложением файла
   strCmd = strCmd & "$file = " & Chr(34) & "C:\Jobs\Отчет_АВТО.xlsm" & Chr(34) & ";"
   strCmd = strCmd & "$att = New-object Net.Mail.Attachment($file)" & ";"
   strCmd = strCmd & "$mes.Attachments.Add($att)" & ";"
   
   strCmd = strCmd & "$file2 = " & Chr(34) & "K:\Jobs\logo.png" & Chr(34) & ";"
   strCmd = strCmd & "$att2 = New-object Net.Mail.Attachment($file2)" & ";"
   strCmd = strCmd & "$mes.Attachments.Add($att2)" & ";"
'создаем связь с SmtpServer
strCmd = strCmd & "$smtp = New-Object Net.Mail.SmtpClient($serverSmtp, $port)" & ";"
strCmd = strCmd & "$smtp.Credentials = New-Object System.Net.NetworkCredential($user, $pass)" & ";"


'отправляем письмо
strCmd = strCmd & "$smtp.Send($mes);"

''освобождаем память
strCmd = strCmd & "$att.Dispose();"

'формируем конечную строку скрипта для PowerShell
strCmd = "powershell -command " & Replace(strCmd, Chr(34), Chr(39))   ' в скрипте меняем двойные кавычки на одинарные
Cells(1, 1) = strCmd  'проверка
Set WsShell = CreateObject("WScript.Shell")
WsShell.Run strCmd, 0, True 'окно  PowerShell скрыто
Kill "C:\Jobs\Отчет_АВТО.xlsm"
End Sub

Буду очень признателен за подсказку/решение, как отправить картинку.
PowerPivot DAX: Вернуть значение последнего месяца из диапазона слайсера
 
Добрый день!
А можно ли в VAR поместить значение из СРЕЗА?

В срезе 12 месяцев. Мне нужно в переменную поместить максимальный выбранный месяц из среза. Т.е. если пользователь выбрал первые 3 месяца, то в var попадает месяц=3, если выбраны месяце 3, 5, 9, то в var должно попасть 9.

Спасибо!
DAX - как в сводной таблице создать меру, которая суммирует поле по диапазону дат?, суммирование поля в сводной таблице по диапазону дат. в фильтре выбирается день,
 
Владимир! Огромное Вам спасибо!
Гениально! Работает!!!
DAX - как в сводной таблице создать меру, которая суммирует поле по диапазону дат?, суммирование поля в сводной таблице по диапазону дат. в фильтре выбирается день,
 
Владимир, Вы могли бы мне скинуть полученную таблицу на [почта удалена, см. правила форума], не совсем понимаю как правильно это сделать, и научусь на вашем примере!
Спасибо!
Изменено: vikttur - 13.12.2021 15:23:36
DAX - как в сводной таблице создать меру, которая суммирует поле по диапазону дат?, суммирование поля в сводной таблице по диапазону дат. в фильтре выбирается день,
 
Коллеги, привет!
Буду очень признателен за помощь

Есть файл, суммирование поля в сводной таблице по диапазону дат. в фильтре выбирается день, и выгружаются данные в свод. Рядом нужно сверстать колонку, которая суммирует все объемы за месяц, в который входит эта дата.

Как это сделать в dax?

Ссылка на файл
Изменено: ninesku - 13.12.2021 13:09:51
Страницы: 1
Наверх