ВБ6 и поле Ворда

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ципихович Эндрю
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 07.04.2010 (Ср) 17:19

ВБ6 и поле Ворда

Сообщение Ципихович Эндрю » 16.07.2012 (Пн) 18:57

Здравствуйте, для начала с типом не пойму
Код: Выделить всё
Set ObjectWord = GetObject(, "Word.Application")
    Set ObjectOpenWord = ObjectWord.ActiveDocument
'тип следующего за выделенным поля
        'ошибка 438 Объект не поддерживает это свойство или метод
        MsgBox$ ObjectWord.Fields(ObjectWord.Selection.Fields(1).Index + 1).Type

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: ВБ6 и поле Ворда

Сообщение Alec » 16.07.2012 (Пн) 23:52

Ну ведь не поддерживает...
Может в строке
Код: Выделить всё
MsgBox$ ObjectWord.Fields(ObjectWord.Selection.Fields(1).Index + 1).Type

все же вместо ObjectWord использовать ObjectOpenWord?
Иногда лучше вовремя остановиться...
И начать заново!

Ципихович Эндрю
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 07.04.2010 (Ср) 17:19

Re: ВБ6 и поле Ворда

Сообщение Ципихович Эндрю » 17.07.2012 (Вт) 4:47

согласен, спасибо, глаз замылился, добавил, но присвоить значение не могу:
Код: Выделить всё
Const wdFieldFormTextInput = 70
     Const wdDateText = 2
    Dim ПолеFormTextInput As Object
                Set ПолеFormTextInput = ObjectOpenWord.FormFields.Add(Range:=ObjectOpenWord.Range, Type:= _
        wdFieldFormTextInput)
    ПолеFormTextInput.TextInput.EditType Type:=wdDateText
                ObjectOpenWord.Bookmarks(ПолеFormTextInput.Name).Delete
                'присваивание текстовому полю ..., значения ...
                ПолеFormTextInput.Result = "Формат_даты)"

на последней строке кода ошибка 4198 - Ошибка команды
как нужно??

Ципихович Эндрю
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 07.04.2010 (Ср) 17:19

Re: ВБ6 и поле Ворда

Сообщение Ципихович Эндрю » 20.07.2012 (Пт) 4:59

апну тему, подскажите как же присвоить значение в добавленном поле??

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: ВБ6 и поле Ворда

Сообщение alibek » 20.07.2012 (Пт) 8:15

Не нужно редактировать поле. Попробуй изменять field.TextInput.Default.
Lasciate ogni speranza, voi ch'entrate.

Ципихович Эндрю
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 07.04.2010 (Ср) 17:19

Re: ВБ6 и поле Ворда

Сообщение Ципихович Эндрю » 20.07.2012 (Пт) 20:20

последнюю строку сделал так:
Код: Выделить всё
'Default - умолчание
                ПолеFormTextInput.Default = "Формат_даты)"


получил - объект не поддерживает свойство
подскажите пжл как нужно

Ципихович Эндрю
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 07.04.2010 (Ср) 17:19

Re: ВБ6 и поле Ворда

Сообщение Ципихович Эндрю » 20.07.2012 (Пт) 20:40

разобрался, назначил полю Тип: Дата (.EditType Type:=wdDateText), значит значение поля должно быть датой, иначе ошибка.
ПолеFormTextInput.Result = Date
не нахожу wdText, где оно и все остальные спрятались от меня?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 69

    TopList  
cron