Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2012, 12:59   #11
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

так и не понял как узнать что-то типа имя поля, отличить от другого поля имеющего такой же тип?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 08.04.2012, 13:09   #12
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

в Ворде есть два поля добавленные кодом из 5 го поста, как мне их отличить, если я хочу дату программно изменить в одном из них
Ципихович Эндрю вне форума Ответить с цитированием
Старый 08.04.2012, 13:57   #13
Пименов Александр
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 222
По умолчанию

Здесь есть несколько подходов решения данной проблемы. Например написать функцию создающую коллекцию полей определенного типа в классе clsField, например
Код:
Public Function FieldTypeCollеction(t As String) As Collection ' Коллекция полей одного типа Field
Dim mf As Field, t As String, mt As String
    If ActiveDocument.Fields.Count = 0 Then ' Если нет в документе полей выходим из функции
        MsgBox "В документе нет полей!!!"
        Exit Function
    End If
    Set FieldTypeCollеction = New Collection  ' Создаем новую коллекцию
        For Each mf In ActiveDocument.Fields ' Проверяем поля в активном документе
            mt = FieldType(mf) ' Определяем тип поля mf
                If mt = t Then ' Если тип поля совпадает с выбранным то
                    FieldTypeCollеction.Add mf ' Добавляем поле в коллекцию
                End If
        Next mf
End Function
Где t выбранный тип поля.
Далее легко определить количество полей одного типа
Код:
FieldTypeCollеction.Count
Или выделять в документе поля только этого типа
Код:
Set f = FieldTypeCollеction(i)
f.Select
Или выполнять другие процедуры нужные Вам
Примеры приведу вечером после 20.00, сейчас нужно отъехать по делам
Пименов Александр вне форума Ответить с цитированием
Старый 08.04.2012, 16:18   #14
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

как имя поля, отличить от другого поля имеющего такой же тип?
ответ - создать его имя, пометить как-то как FormFields это возможно?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 08.04.2012, 16:27   #15
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

что-то ещё в стопоре, а как в этот код поля CREATEDATE \@ "MMMM, dddd, dd, 'год' yyyy" \s вводить не текущую дату, а нужную, например 23 февраля 2012 г.???
Ципихович Эндрю вне форума Ответить с цитированием
Старый 08.04.2012, 21:26   #16
Пименов Александр
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 222
По умолчанию

Вообще для ввода дат удобно еще использовать объект FormField, завтра с утра выложу форму по вводу, правке и удалению полей дат форму UserForm
Пименов Александр вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формат Даты katerinkaj Microsoft Office Excel 83 29.08.2011 14:05
Расчет даты (дата+цел.число) zallza Общие вопросы Delphi 8 13.05.2011 13:23
Формат даты. agregator Microsoft Office Excel 3 21.01.2011 14:55
Формат даты Iskin Microsoft Office Excel 5 16.04.2009 14:49
Формат даты. IVANSour Общие вопросы Delphi 1 18.01.2009 15:36