kill не стирает файлы со скобками в имени.

Его не нужно переименовывать. Нужно просто выложить на диск с нужным (модифицированным) именем.

Если нужно переименовать, то самый простой способ - извлечь на диск с нужным именем, удалить аттач в документе, вновь вложить извлечённый на диск файл, сохранить.
Способ правильнее, но сложнее, - dxl. Экспортировать док в dxl в строковую переменную, откорректировать его и импортировать обратно. Где-то здесь было на форуме.

Выгрузить с другим именем:
Код:
Dim sFilePath As String
Forall obj In rtitem.EmbeddedObjects
    sFilePath = datapatch$ & Replace(Replace(obj.Source, "(", ""), ")", "")
    Call obj.ExtractFile(sFilePath)
    'проверяем, выгрузился файл или нет, т.к. банально может не быть места на диске либо файл по этому пути уже лежит
    If isFileExist(sFilePath) Then
        '...
        Kill sFilePath
    End If
End Forall
 
Последнее редактирование:
протесть свой скрипт с аттачем с именем "От(чё-т", т.к. с "От(чё)-т" всё будет ок.
Создал файл "d:\Downloads\От(чё-т.txt". Из клиента 9.0.1FP7 обычным Kill он удалился без проблем.
Файл файл "d:\Downloads\От(чё-т" также удалился без проблем.
 
Не совсем в тему, но к возможным причинам неудаления файла (Err=75) методом Kill на Win7 добавлю ещё одну.
Предыстория: в функциональности регистрации сотрудника id-файл сохранялся на диск по предустановленному пути, чтобы отправить его куда надо письмом. Потом этот файл должен был удалялся. Так вот удалялся он не на всех клиентах. Закономерность выявить не удалось; во всяком случае от версии клиента это не зависит. Есть подозрение, что файл не удалялся на скопированных, а не инсталлированных клиентах. Имеется только два скопированных клиента, на которых производится регистрация, что для выявления закономерности недостаточно.
Боролись с этим несколько лет (что я только не делал - и Delete RT-полю, куда вставлялся файл, и объекту документа письма, и объекту NotesRegistration...), и вот вчера победили! В константе с предустановленным путём использовался универсальный слеш "/", поменяли на виндовый "\" и файл спокойно стал удаляться.
 
  • Нравится
Реакции: lmike
В константе с предустановленным путём использовался универсальный слеш "/", поменяли на виндовый "\" и файл спокойно стал удаляться.
я бы вынес в java либу, работу с файлами, и звалбы её
хотя фича со слешами интересная :)
 
Если не указано NotesRegistration.NoIdFile = True и в
Код:
variant = NotesRegistration.RegisterNewUser(lastname$, idfile$, ...
передаётся параметр idfile$, то сам RegisterNewUser сохраняет файл по указанному пути.

Что тут вынесешь в Java, удаление файла разве что)
 
Если не указано NotesRegistration.NoIdFile = True и в
Код:
variant = NotesRegistration.RegisterNewUser(lastname$, idfile$, ...
передаётся параметр idfile$, то сам RegisterNewUser сохраняет файл по указанному пути.

Что тут вынесешь в Java, удаление файла разве что)
нуда (я имел в виду все операции: поиск, списки каталогов, архивирование, временные файлы, удаление)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!