Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 2

VBS Как сделать так, чтобы в теме письма не отображалось расширение прикреплённого файла?

23.01.2018, 01:20. Показов 2182. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При отправке по электронной почте файлов из проводника Windows через Send to > Mail Recipient , автоматически используется форма со стандартным текстом типа: "Your message is ready to be sent with the following file or link attachments: и т.д."
Для того, чтобы использовать свою собственную форму и настройки сообщения, используем скрипт, ссылку на который размещаем в папке Send to

Скрипт автоматически:
  • подставляет имя файла в тему письма и при этом удаляет полный путь к файлу, оставляя только имя файла (Строка 12);
  • вставляет персональный текст в тело письма (Строка 23);
  • вставляет имя файла в определённое место в тексте письма (Строка 23);
  • вставляет персональную подпись из файла Signature.htm (Строки 15, 16);
  • активирует запросы на уведомления о доставке и прочтении (Строки 24, 25).
Вопрос: как сделать так, чтобы в теме и в тексте письма не отображалось расширение прикреплённого файла?

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
Dim objArgs, OutApp, oNameSpace, oInbox, oEmailItem, olMailItem
Dim a, oAttachments, subjectStr, olFormatHTML
Dim objFSO,strSigFilePath, objSignatureFile, strBuffer
olMailItem = 0
olFormatHTML = 2
 
Set objArgs = WScript.Arguments 'gets paths of selected files
Set OutApp = CreateObject("Outlook.Application") 'opens Outlook
Set oEmailItem = OutApp.CreateItem(olMailItem) 'opens new email
For a = 0 to objArgs.Count - 1
Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),"\"))) & ", " 
Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
strSigFilePath = "C:\Users\Username\AppData\Roaming\Microsoft\Signatures\"
Set objSignatureFile = objFSO.OpenTextFile(strSigFilePath & "Signature.htm")
strBuffer = objSignatureFile.ReadAll
objSignatureFile.Close
 
If subjectStr = "" then subjectStr = "No Subject "
oEmailItem.Subject = ""& Left(subjectStr, (Len(subjectStr)-2))
oEmailItem.BodyFormat = olFormatHTML
oEmailItem.HTMLBody = "<p>Line 1 of my custom text,</p><p>Line 2 of my custom text, " & Left(subjectStr, len(subjectStr)-2) & ".</p>" &  strBuffer
oEmailItem.ReadReceiptRequested = True
oEmailItem.OriginatorDeliveryReportRequested = True
oEmailItem.Display
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2018, 01:20
Ответы с готовыми решениями:

Как сделать так, чтобы в ListBox отображалось только имя файла без пути
Задача такая: В ListBox отображается найденные файлы (список файлов с искомой комбинацией символов) и в нем отображается путь к этому...

Как сделать, чтобы в адресной строке не отображалось расширение php?
как сделать чтоб не высвечивалась приставка php? и заходить что б можно было

Как сделать так чтобы поле всегда отображалось в отчете?
Когда в поле введено хоть какое-то значение, то в отчете это поле видно прекрасно. Но если туда ничего не ввести, то поле не показывает. А...

3
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,740
23.01.2018, 04:49
Лучший ответ Сообщение было отмечено 5ergio как решение

Решение

Вместо 7-14 строк:
Visual Basic
1
2
3
4
5
6
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set oEmailItem = CreateObject("Outlook.Application").CreateItem(olMailItem) 'opens new email
For Each a in WSH.Arguments
  Set oAttachments = oEmailItem.Attachments.Add(a)
  subjectStr = subjectStr & ", " & FSO.GetBaseName(F)
Next
21 строка: oEmailItem.Subject = Mid(subjectStr, 3)

P.S.: Непонятно, зачем вам Dim-ы без Option Explicit..
1
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,740
24.01.2018, 19:04
Поправка: в 5 строке objFSO вместо FSO.
1
0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 2
24.01.2018, 22:00  [ТС]
FlasherX, Огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.01.2018, 22:00
Помогаю со студенческими работами здесь

Как сделать так, чтобы окно ошибок, вывода всегда отображалось внизу?
Как сделать так, чтобы окно ошибок, вывода всегда отображалось внизу?

Отображение пустой строки #Имя? в запросе как сделать так, чтобы не отображалось
Здравствуйте, форумчане! Прошу подсказать, как убрать в запросе когда пустая строка отображается #Имя? Раньше была MS 2007 не...

Как сделать так, чтобы когда я выбираю цифру, рядом отображалось название по заданной цифре
1 яблоко 2 апельсин 3 банан 4 груша 5 мандарин 6 арбуз в отдельную ячейку я набираю цифру, например 1, в другой ячейке уже...

Как сделать так, чтобы выбранное в одном списке имя не отображалось в другом списке
Добрый день, хочу попросить вашей помощи: Есть таблица Эксель в ней идёт диапазон имён Ячейки А1:Миша; А2:Петя; А3: Ваня и так далее ...

Как сделать так, чтобы в DGV отображалось вместо request - запрос, а вместо response - ответ
Добрый день, ув. читатели форума. Проблема такова: В одном столбце я вывожу данные: request или response. Как сделать так,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru