Страница 3 из 4
Добавлено: Вт июн 01, 2010 18:06
Batya
AVos002 писал(а):Batya я не врубился, что именно мне надо поправить?
Исправленный код скрипта в
исходном посте.
AVos002 писал(а):Как только я смогу реализовать все функции в TC я постепенно все Descript.ion перекодирую.
Тогда предлагаю пока на крокозябры внимания не обращать. Когда полностью перейдёшь на TC, проблем быть не должно.
Добавлено: Вт июн 01, 2010 18:19
AVos002
Не суди строго (я в форуме новичок), но новой редакции скрипта я не видел. vbs-скрипт от «Пн Май 31, 2010 17:05» получил, но он пока не отлажен. Больше новых редаций не видел.
Может быть Batya не вложил код скрипта в тело сообщения или есть какой-то ресурс со скриптами. Может быть твое уточнение команды «%COMMANDER_PATH%\Plugins\tcwhelp_b10\DemoScripts\Proba.vbs» и есть та поправка, но с этим проблемы как раз и не было.
Добавлено: Вт июн 01, 2010 18:34
Flasher
AVos002 писал(а):но новой редакции скрипта я не видел. vbs-скрипт от «Пн Май 31, 2010 17:05» получил, но он пока не отлажен. Больше новых редаций не видел.
А надпись мелким шрифтом снизу поста "
Последний раз редактировалось: Batya ( Вт Июн 01, 2010 13:38 )" тебе ни о чём не говорит?
AVos002 писал(а):Может быть твое уточнение команды .. и есть та поправка, но с этим проблемы как раз и не было.
Нет. То, о чём написал я к этому отношения не имеет. Если форумчанин пишет, что "поправил", значит нужно вернуться к этому коду скрипта/кнопки/т.п. и скопировать его целиком. Если принципиально разобраться, где именно произошла замена/редакция, можно в ТС использовать инструмент сравнения (команда
cm_CompareFilesByContent ).
Добавлено: Вт июн 01, 2010 18:35
AVos002
☻Batya я затупил, признаю, даже не стал проверять первичное (как мне казалось) тело скрипта. А там оказыается есть изменения. Вот сейчас запустил скрипт... УРАААААААААААААА работает.
Осталось только немного шлифануть наименование файла (мне нужно без пути). Я в принципе могу сделать сам (с помощь поиска крайне правого делителя и вырезки его из переменной File, но если можно вызвать наименование с помощью встроенной функции, было бы меньше возни.
Добавлено: Вт июн 01, 2010 18:38
AVos002
Flasher писал(а):А надпись мелким шрифтом снизу поста "Последний раз редактировалось: Batya ( Вт Июн 01, 2010 13:38 )" тебе ни о чём не говорит?
Я на форуме зарегистрировался в начале мая этого года и некоторых важных вещей не замечаю. Ещё раз прошу прощения за эту досадную оплошность.
Добавлено: Вт июн 01, 2010 23:53
Batya
AVos002 писал(а):Осталось только немного шлифануть наименование файла (мне нужно без пути)
Сделал. Исправленный скрипт там же.
Добавлено: Ср июн 02, 2010 00:13
AVos002
С домашнего компьютера запустил скрипт, та же волшебная ошибка какая была ранее (что-то про GetExtensionName), завтра попробую на рабочем, думаю запустится.
Добавлено: Ср июн 02, 2010 09:23
Batya
AVos002 писал(а):С домашнего компьютера запустил скрипт, та же волшебная ошибка какая была ранее (что-то про GetExtensionName)
Ты явно либо запускаешь другой скрипт, либо неправильно указаны параметры запуска.
Добавлено: Ср июн 02, 2010 12:15
AVos002
Привет Batya!
Запустил скрипт на рабочем компьютере, все шоколадно (надо смотреть домашний комп, может действительно что-то не так запускаю).
Одно но -> в пылу атаки я забыл проверить пакетную отправку файлов, только сегодня втукал, что этот скрипт работает только с файлом под курсором.
Добавлено: Ср июн 02, 2010 13:50
Batya
AVos002 писал(а):Одно но -> в пылу атаки я забыл проверить пакетную отправку файлов, только сегодня втукал, что этот скрипт работает только с файлом под курсором.
Ну ты даёшь! Про несколько файлов, во-первых, никто не говорил. А во-вторых - я не знаю, как в командной строке заставить MS Outlook создавать письмо с несколькими вложенными файлами.
Добавлено: Ср июн 02, 2010 16:11
AVos002
Batya писал(а):...Ну ты даёшь! Про несколько файлов, во-первых, никто не говорил...
Я упомянул об этом в начале..
AVos002 писал(а): Также отмечаю - часто бывает что выделяется несколько файлов, а на основном установлен курсор, так вот, мне требуется название и тема только основного файла. В Total Commander, когда выделено несколько файлов, а затем нажата комбинация Shift+F6, в диалоговом окне указано ->«*.*» (т.е. копировать собственно нечего).
Кроме того в основном я высылаю по одному файлу, а прикрепить несколько файлов можно потом, в режиме нового почтового сообщения. Или прежде чем высылать пакет файлов их можно запаковать и выслать одним файлом.
Добавлено: Ср июн 02, 2010 17:42
Batya
AVos002 писал(а):Я упомянул об этом в начале..
Видимо так упоминал, что никто ничего не понял

Ладно, не в этом суть. В Far твоя команда создвет новое сообщение MS Outlook с несколькими вложенными файлами?
Добавлено: Ср июн 02, 2010 18:12
AVos002
Batya писал(а):В Far твоя команда создвет новое сообщение MS Outlook с несколькими вложенными файлами?
Да, причем это происходит так изящно, что я даже не потрудился конкретизировать ТЗ в начале, отсюда и такая подстава.
Добавлено: Чт июн 03, 2010 10:23
Batya
AVos002 писал(а):причем это происходит так изящно
Надеюсь, что новый вариант будет не менее изящен:
Код: Выделить всё
'==============================================================
' Открытие нового сообщния MS Outlook с вложенными файлами
'
' Параметры:
' {файл для комментария} {файл-список файлов для вложения}
'
' Пример параметров при вызове из TC:
' %P%N %L
'==============================================================
Option Explicit
Dim FSO, MSO, MSG, File, List, F
Set FSO = CreateObject("Scripting.FileSystemObject")
File = WScript.Arguments(0)
List = WScript.Arguments(1)
Set MSO = CreateObject("Outlook.Application")
Set MSG = MSO.CreateItem(0)
MSG.Subject = FSO.GetFileName(File) & " [" & GetComment(File) & "]"
MSG.Body = "Здравствуйте." & vbCrLf & vbCrLf & vbCrLf & _
"До свиданья." & vbCrLf & "Колобки"
For Each F In Split(FSO.OpenTextFile(List).ReadAll, vbNewLine)
If F <> "" And FSO.FileExists(F) Then
MSG.Attachments.Add F
End If
Next
MSG.Display
Set MSG = Nothing
Set MSO = Nothing
Set FSO = Nothing
WScript.Quit
Function GetComment(pPath)
Const CommFile = "descript.ion"
Dim lPath, lName, lText, lComm
lPath = FSO.GetParentFolderName(pPath)
lName = FSO.GetFile(pPath).Name
If Instr(lName, " ") > 0 Then lName = """" & lName & """"
If lPath <> "" Then lPath = lPath & ""
If FSO.FileExists(lPath & CommFile) Then
lText = FSO.OpenTextFile(lPath & CommFile).ReadAll
lComm = Filter(Split(lText, vbNewLine), lName & " ", True, 1)
If UBound(lComm) > - 1 Then
GetComment = Replace(Mid(lComm(0), Len(lName) + 2), "В", "")
GetComment = Trim(Replace(GetComment, "\n", " "))
Else
GetComment = ""
End If
Else
GetComment = ""
End If
End Function
Внимание - параметры поменялись.
И, как я понимаю, запись в буфер уже не нужна?
Добавлено: Сб июн 05, 2010 00:43
AVos002
Привет Batya! Извини, что долго не реагировал... замотался и не смог заглянуть на Форум.
Сейчас я опять за домашним компьютером запустил скрипт и опять та же ошибка:
=======================================================================
Сценарий: C:\Program Files\Total Commander\Plugins\tcwhelp_b10\DemoScripts\Proba.vbs
Строка: 11
Символ: 1
Ошибка: Недопустимое число аргументов или присвоение значения свойства: 'GetExtensionName'
Код: 800A01C2
Источник: Ошибка выполнения Microsoft VBScript
=======================================================================
Посмотрел что за метод GetExtensionName - это возврат строки с раширением.
К сожалению терминал на рабочий компьютер мне пока не доступен, поэтому протестировать там не могу ☻
Может разница в настройках Total Commander?