Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Команда Format в VBA неверно пишет слово "февраля", вместо этого пишет "февраПя". 
V
    Опции темы
Валк
Дата 31.1.2007, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.5.2006

Репутация: нет
Всего: нет



Система простая, в определённую ячейку записывается дата. Затем, эта дата командой:
Код

Sh_Data.Cells(2, 42) = Format(Sh_Input.Cells(14, 2), "«dd» mmmm yyyy")

из этой ячейки переносится в другую.

Вроде всё ништяк, да только почему-то вместо "февраля" код упорно мне пишет "феврапя".
Что делать?

P. S. Всё происходит в Microsoft Office 2000.
PM MAIL WWW   Вверх
Akina
Дата 31.1.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Код

Sh_Data.Cells(2, 42) = Replace(Format(Sh_Input.Cells(14, 2), "«dd» mmmm yyyy"),"еврапя","евраля")



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Валк
Дата 1.2.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.5.2006

Репутация: нет
Всего: нет



Хм, ты предлагаешь мне интересный вариант решения. Я тоже обдумывал вариант исправления ошибки собственным кодом типа:
Код

If Format(Sh_Input.Cells(14, 2), "mmmm") = "феврапя" Then
        Sh_Data.Cells(2, 42) = Format(Sh_Input.Cells(14, 2), "«dd»") & " февраля " & Sh_Data.Cells(2, 42) = Format(Sh_Input.Cells(14, 2), "yyyy")
    Else
        Sh_Data.Cells(2, 42) = Format(Sh_Input.Cells(14, 2), "«dd» mmmm yyyy")
End If

Однако, уважаемый коллега, в нашем решении есть довольно большой минус, как мне кажется. Дело в том, что надо лечить причину, а не следствие, мы же боремся именно со следствием.

Вопрос, как же забороть причину, ведь этот же код на Microsoft Office 2003 работает нормально (похоже им пришлось три года работать над этой ошибкой; шутка)...
PM MAIL WWW   Вверх
mihanik
Дата 1.2.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Валк, если на разных машинах с разными настройками ошибка повторяется, то это глюк в самом офисе.
Если глюк в самом офисе, то его надо исправлять собственной программой...
Если его нужно исправлять собственной программой, то вариант Akina прокатывает...

Я так думаю.



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Akina
Дата 1.2.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(mihanik @  1.2.2007,  15:28 Найти цитируемый пост)
если на разных машинах с разными настройками ошибка повторяется, то это глюк в самом офисе.

Это известная ошибка. И это не глюк Офиса, это глюк Windows2000 - на том же офисе, но на Win9x, XP, 2003 все будет отображаться нормально. И, если не ошибаюсь, все нормально в Windows 2000 SP 3.

Системно это делают, создавая спецфункцию:

Код

Public Function FormatLongDate(Value as Date) As String
FormatLongDate = Replace(Format(Value, "«dd» mmmm yyyy"),"еврапя","евраля") 
End Function



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mihanik
Дата 2.2.2007, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



mihanik!!!

НУ!!!
А я про что?!
Системный взглюк...

Вывод-то один и тот же будет!!!

 smile 

ЗЫ.
Помечу вопрос решённым.




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Валк
Дата 2.2.2007, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.5.2006

Репутация: нет
Всего: нет



Akina, спасибо за информацию.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0539 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.