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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2010, 08:04   #1
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию Календарь для ввода даты

Здравствуйте. Есть календарь на форме для ввода дат, работающий в Excel, подскажите как его переделать, чтобы он работал в Worde (хотя бы кнопка "Ок").
Вложения
Тип файла: zip Календарь.zip (41.3 Кб, 51 просмотров)
agregator вне форума Ответить с цитированием
Старый 28.04.2010, 10:30   #2
akokin
Пользователь
 
Регистрация: 02.08.2008
Сообщений: 94
По умолчанию

Попробуйте такой календарь, специально для Word:
http://wordexpert.ru/page/kalendar-v-word
akokin вне форума Ответить с цитированием
Старый 28.04.2010, 11:06   #3
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Похоже, что нужно просто заменить вот эти процедуры:
Код:
Private Sub Cmd_Select_Click()
    'Команда - закончить выбор даты и закрыть форму
    'SelectedDate = CStr(DateValue(dt_1))
    Selection.TypeText dt_1
    Unload Me
End Sub

Private Sub Дата_с_продолжением_Click()
    'Команда - закончить выбор даты и закрыть форму
    'SelectedDate = CStr(DateValue(dt_1))
    Selection.TypeText dt_1
    'Unload Me
End Sub
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 29.04.2010, 07:33   #4
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Всем спасибо за помощь. Я выбрал:
Selection.Text = Format(dt_1, "dd.mm.yyyy H:MM")
Подскажите пожалуйста код, который прописывает даты во все выделенные ячейки Wordовской таблицы.
agregator вне форума Ответить с цитированием
Старый 29.04.2010, 07:54   #5
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Код:
Dim oCell As Cell
For Each oCell In Selection.Cells
  oCell.Range.Text = "Твой текст"
Next
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 29.04.2010, 10:10   #6
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

viter.alex, спасибо. А как сделать, что бы работало и в ячейках и вне ячеек? Я попробовал так, не работает:
Dim oCell As Cell
If oCell = Nothing
Then
Selection.Text = Format(dt_1, "dd.mm.yyyy H:MM")
Else
For Each oCell In Selection.Cells
oCell.Range.Text = Format(dt_1, "dd.mm.yyyy H:MM")
End If
agregator вне форума Ответить с цитированием
Старый 29.04.2010, 10:24   #7
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Состряпал такой код, вроде работает:
Private Sub Cmd_Select_Click()
Dim oCell As Cell
On Error GoTo db
For Each oCell In Selection.Cells
oCell.Range.Text = Format(dt_1, "dd.mm.yyyy H:MM")
Next
Exit Sub
db: Selection.Text = Format(dt_1, "dd.mm.yyyy H:MM")
End Sub

Может сделаете, что нибудь получше?

Последний раз редактировалось agregator; 29.04.2010 в 13:13.
agregator вне форума Ответить с цитированием
Старый 29.04.2010, 15:52   #8
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Например, так
Код:
Dim oCell As Cell
If Selection.Cells.Count > 0 Then
  For Each oCell In Selection.Cells
    oCell.Range.Text = "Твой текст"
  Next
Else
  Selection.TypeText = "Твой текст"
End If
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 30.04.2010, 04:35   #9
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Viter.alex, последний код работает в таблице, а вне таблицы пишет Debug на
Код:
If Selection.Cells.Count > 0 Then
Selection.Cells.Count = <Запрашиваемый номер семейства не существует.>
agregator вне форума Ответить с цитированием
Старый 30.04.2010, 08:13   #10
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Тогда вместо Selection.Cells.Count используйте Selection.Information(wdWithinTable ):
Код:
If Selection.Information(wdWithinTable) Then
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выпадающий календарь для ввода дат mbrost Microsoft Office Excel 35 26.02.2018 13:29
Поля для ввода параметров картинки Naroto HTML и CSS 5 28.04.2010 22:48
Календарь для ввода даты в поле формы novak_26 Microsoft Office Excel 3 24.02.2010 00:45
Как сделать запрет ввода букв в поле для ввода input zvezda_t PHP 1 27.12.2009 22:02
Как создать маску ввода даты в TextBox? AnnNet Microsoft Office Excel 6 24.07.2008 10:42