powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / VB и работа с Word документами
15 сообщений из 15, страница 1 из 1
VB и работа с Word документами
    #35213368
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необходимо работать из скрипта с custom properties документа.

Делаю так

авторSet wordApp = CreateObject("Word.Application")
Set doc = wordApp.Documents.Open("c:\test.doc")

у самой объектной библиотеки Word есть интерфейс CustomProperties. Но вот не пойму как получить доступ к этому интерфейсу?
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35213689
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wordApp.CustomProperties не работает штоли?
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35213941
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35214079
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И не должно. У класса Word.Application нет свойства CustomProperties. И вообще ни у одного вордовского класса нет такого свойства. Зато у смарт-тегов есть свойство Properties, которое как раз и возвращает объект типа CustomProperties. Больше этот класс нигде не используется.
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35214084
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заодно советую автору задаться вопросом, чем интерфейс отличается от класса.
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35214167
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗаодно советую автору задаться вопросом, чем интерфейс отличается от класса.
честно говоря не знаю, та оно меня особо и не интересует, ибо я не программист. Иногда, раз в три месяца пишу какой то простенький скрипт.

2 Antonariy
Не пойму, как мне удалить определённое свойство?

Делал так
авторSet wordApp = CreateObject("Word.Application")
Set doc = wordApp.Documents.Open("c:\test.doc")

Set customProp = doc.CustomDocumentProperties
Set prop = customProp.Item(1)

prop.Delete()

inst.Save()
inst.Close()
wordApp.Quit()
но свойство не удаляется. Что я делаю не так?
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35214182
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
inst.Save()
inst.Close()
Почему не doc?
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35214198
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очепятка, конечно там doc
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35214222
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда все должно работать. ThisDocument.CustomDocumentProperties(1).Delete, выполненное из ворда, сработало.
Попробуй убрать пустые скобки.
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35214262
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПопробуй убрать пустые скобки.
К сожалению результат тот же :(

Ничего не понимаю - WScript.Echo prop.Name и WScript.Echo prop.Value, выводит имя свойства и его значение, а вот удалять не хочет
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35214731
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил проблему, очень странное поведение.

Причина была в том, что при удалении свойства документ не считался изменённым и поэтому функция doc.Save не отрабатывала. Вылечилось добавлением строки doc.Saved = False перед сохранением документа.
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35215397
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но теперь новая проблема

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
On Error Resume Next

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\test.xlt")

Set customProp = objWorkbook.CustomDocumentProperties
Set builtinProp = objWorkbook.BuiltinDocumentProperties

If objWorkbook.CustomDocumentProperties.Count >  0  Then
	For i= 1  To objWorkbook.CustomDocumentProperties.Count
		objWorkbook.CustomDocumentProperties.Item(i).Delete()
	Next
End If

WScript.Echo objWorkbook.CustomDocumentProperties.Count

objWorkbook.Close()
objExcel.Quit()

В результате получаю вывод - 2. Откуда он берет два свойства, если я их все удалил?
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35217137
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не все, их было 4. Удалять нужно начиная с последнего, иначе получается: удаляешь первый - первым становится второй, удаляешь второй - вместо него удаляется третий и т.д. В результате должна была высколчить ошибка, если бы не было On Error Resume nExt.

Пиши цикл так:
Код: plaintext
For i=objWorkbook.CustomDocumentProperties.Count To  1  Step - 1 
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35217147
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или так:
Код: plaintext
1.
2.
While objWorkbook.CustomDocumentProperties.Count >  0 
    objWorkbook.CustomDocumentProperties.Item( 1 ).Delete()
Wend
...
Рейтинг: 0 / 0
VB и работа с Word документами
    #35217351
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНе все, их было 4. Удалять нужно начиная с последнего, иначе получается: удаляешь первый - первым становится второй, удаляешь второй - вместо него удаляется третий и т.д. В результате должна была высколчить ошибка, если бы не было On Error Resume nExt.
Странно, а почему тогда после выполнения цикла строка WScript.Echo objWorkbook.CustomDocumentProperties.Count показывала 0?

авторИли так:

While objWorkbook.CustomDocumentProperties.Count > 0
objWorkbook.CustomDocumentProperties.Item(1).Delete()
Wend
попробую
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / VB и работа с Word документами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]