Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Гаряка Асмик
Статус: Профессор
Рейтинг: 5477
∙ повысить рейтинг »
Vasiliy83
Статус: Профессионал
Рейтинг: 2046
∙ повысить рейтинг »
Megaloman
Статус: Профессор
Рейтинг: 1596
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Basic/VBA

Номер выпуска:1054
Дата выхода:26.11.2010, 13:30
Администратор рассылки:Калашников О.А. (Руководитель)
Подписчиков / экспертов:202 / 92
Вопросов / ответов:1 / 1

Вопрос № 180872: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: функция Килл для меня уже стала нарицательным словом. В нижеследующем коде задумка такая Пользователь находится в открытом документе Ворд, задача переименовать этот файл...



Вопрос № 180872:

Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
функция Килл для меня уже стала нарицательным словом. В нижеследующем коде задумка такая
Пользователь находится в открытом документе Ворд, задача переименовать этот файл не закрывая его
Решаю путём сохранения файла под другим именем, вся загвоздка в удалении того "старого файла"
Код:

Код:

Function Концовка_для_всех_кнопок(ByVal Текст_имени_нового_сохраняемого_документа As String)

Dim Новый_не_сохранённый_ранее_Документ As Boolean
If Len(ActiveDocument.Path) = 0 Then Новый_не_сохранённый_ранее_Документ = True

'условие, если документ не был сохранён ранее, тогда ...< br>If Новый_не_сохранённый_ранее_Документ = True Then
Место_нахождения_активного_документа = ActiveDocument.AttachedTemplate.Path & Application.PathSeparator 'Application.PathSeparator - это наклонная
Else 'в противном случае
Место_нахождения_активного_документа = ActiveDocument.Path & Application.PathSeparator 'Application.PathSeparator - это наклонная
End If

Dim Имя_активного_документа_с_расширением As String 'объявление переменной типа строковая переменная - As String
Имя_активного_документа_с_расширением = ActiveDocument.Name 'имя активного документа

'условие, если полное имя активного документа, то есть место его сохранения и его имя с расширением
'равно
'полному имени файла под которым требуется сохранить файл
'тогда скрыть форму, выдать сообщение, выйти с процедуры
If ActiveDocument.FullName = Место_нахождения_активного_документа & Текст_имени_нового_сохраняемого_документа Then Unload Me: Msg Box$ "Файл с именем:" & Chr$(13) & Текст_имени_нового_сохраняемого_документа & Chr$(13) & "по адресу:" & Chr$(13) & Место_нахождения_активного_документа & Chr$(13) & "уже существует", vbOKOnly, "ДОКУМЕНТ НЕ МОЖЕТ БЫТЬ СОХРАНЁН": Exit Function

'условие, если файл ...doc в папке ... на диске ... существует, надо указывать с расширением, например .doc, дословно если длина имени пути - Dir файла больше нуля тогда файл ... существует, тогда ...
If Len(Dir(Место_нахождения_активного_документа & Текст_имени_нового_сохраняемого_документа)) > 0 Then Unload Me: MsgBox$ "Файл с именем:" & Chr$(13) & Текст_имени_нового_сохраняемого_документа & Chr$(13) & "по адресу:" & Chr$(13) & Место_нахождения_активного_документа & Chr$(13) & "уже существует", vbOKOnly, "ДОКУМЕНТ НЕ МОЖЕТ БЫТЬ СОХРАНЁН": Exit Function

ActiveDocument.SaveAs FileName:=Место_нахождения_активного_документа & Текст_имен и_нового_сохраняемого_документа, FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False

'условие, если документ был сохранён ранее, тогда удаляем старый документ
If Новый_не_сохранённый_ранее_Документ = False Then Kill (Место_нахождения_активного_документа & Имя_активного_документа_с_расширением) 'здесь получаю ошибку 70 Доступ запрещён, как её избежать???????

End Function


Отправлен: 21.11.2010, 13:29
Вопрос задал: Ципихович Эндрю (Посетитель)
Всего ответов: 1
Страница вопроса »


Отвечает Гаряка Асмик (Профессор) :
Здравствуйте, Ципихович Эндрю!

Файлы с расширением .dot - это шаблоны. Если Вы хотите создать файл на основании шаблона, путь, в котором он находится, должен быть прописан в меню Инструменты - Опции - Положение файла(File Locations). После этого, создавая новый файл, кликните на "файл на этом компьютере), и выберите шаблон. Получившийся файл будет копией шаблона. Его можно сохранить под любым именем.
Форму загружу на сайт, только она должна быть не в нормал.дот, а в самом документе.
-----
Я ни от чего, ни от кого не завишу.

Ответ отправил: Гаряка Асмик (Профессор)
Ответ отправлен: 22.11.2010, 16:48
Номер ответа: 264261

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 264261 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.23 от 23.11.2010

    В избранное