powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Калькулятор Дат
32 сообщений из 32, показаны все 2 страниц
Калькулятор Дат
    #37722226
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкладываю труд последней 12-й недели! Номер недели я указал не случайно. Вообщем, перерыв огромный массив сайтов: наших и зарубежных я не смог найти алгоритма позволяющего показать диапазон номера недели года. Номер недели предлагают многие (и как правило - неверно), а диапазон... вообще найти не смог! А ведь именно диапазон нужен для всех расчётов, а не абстрактный номер. Если найдёте глюки - сильно не ругайте, лучше исправьте- спасибо вам за это. Программный код - не критикуйте пожалуйста (не ругайте пианиста...). Дизайн не идеален, но перебрав несколько. пока остановился на этом.

Благодарности:

ShokerPro - за отлов ошибки в коде при переборке дат. И за терпение.

Скукотище - за код, позволяющий менять Zoom формы калькулятора.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722253
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valll,
при открытии книги получаю ошибку:
Код: plaintext
1.
2.
3.
4.
---------------------------
Microsoft Forms
---------------------------
Could not load some objects because they are not available on this machine.

Не останавливаюсь на достигнутом.
Книга открыта, тыцаю кнопку [Календарь], получаю:
Код: plaintext
1.
2.
3.
4.
5.
---------------------------
Microsoft Visual Basic
---------------------------
Compile error:

Method or data member not found

Останов в модуле Календарь (строка 17)
Код: vbnet
1.
        .Calendar4.Value = Date



ЗЫ: "битых" ссылок в проекте нет.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722259
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, сейчас проверил - работает! Что за напасть... Может ещё кто среагирует... Пока буду смотреть код.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722263
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valll,
не может найти элемент(?) формы OT_DO.Calendar4
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722267
R D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
R D
Гость
скукотища,
Автор похоже использует встроенный календарь акса2003
у меня тоже те же я?ца
R Dmitry
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722275
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скукотище, может это из-за того, что у тебя Элемент календаря АктивХ не установлен? Хотя такой вариант - очень плох для меня... Я то думал он у всех есть...Неужели рушатся надежды на простую передачу файла?

Элемент АктивХ называется в VBA MonthView. Он находится в файле Microsoft DTPicter. Надо его подгрузить в набор Toolbox VBA.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722282
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Открываем Эксель.
Открываем проект VBA.
В меню Tools строка Referens
Проверяем наличие галочек:

VBA,
MS EXCEL 12.0 Obiect Lib
MS Forms 2.0

Ставим им галочки.

Открываем меню addControls
Ищем Microsoft Date and Time Picker Control - ставим галочку.

После этого должно работать... Блин, но это не вариант... Хоть тему удаляй!
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722288
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> R D,
> Автор похоже использует встроенный календарь акса2003

Похоже на то..
Вот что у меня в конструкторе IDE показывает. Явно чего-то вокруг полосы прокрутки не хватает :)
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722293
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл с нужным контролом календаря не могу загрузить. Весит 300кБ...
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722299
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Valll
> В меню Tools строка Referens
> Проверяем наличие галочек:

> VBA
> MS EXCEL 12 .0 Obiect Lib
> MS Forms 2.0

у меня MS Excel 11 .0 Object Library, но не это главное.
Главное ниже:

> Ищем Microsoft Date and Time Picker Control - ставим галочку.
я не устанавливал "Элемент управления 'Календарь'", так что, звыняйтэ, нет его у меня в списке.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722300
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, точно, календари пропали....

Админы, удалите тему нах....!
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722302
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Valll
> Файл с нужным контролом календаря не могу загрузить. Весит 300кБ...

Если лично для меня - то не надо. Инсталятор офиса в наличии.
А вот для будующих пользователей - пригодился бы. С указанием "поместиь в каталог с книгой и зарегистрировать :)"
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722311
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скукотище, а можно как-то автоматом при первом запуске процедуры проверить наличие ЗАГРУЖЕННОГО контрола Календаря и если его нет выполнить эту операцию автоматически? Естественно при физическом наличие файла?
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722316
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valll,
можно.
НО, думаю, такой вариант не спасет. Аргументировать пока(?) не готов.

ЗЫ: есть надежда, что аргументов за меня другие напишут. ;)
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722319
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valll,

Как уже сказал скукотище, лучше так не делать а приспособить календарь на простых элементах,
так при регистрации календаря если нет админских прав то ничего не установишь.
поищи на planetaexcel.ru календарь от слэн, воткни его в свой проект и наслаждайся :)
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37722344
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, про права админа я не учёл...

"поищи на planetaexcel.ru календарь от слэн" Я видел этот календарик - мне понравился. Честно - это он меня подтолкнул к идее. И ведь объективно - потенциал моего значительно больше...

Уйду пока в раздумья...
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37724062
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, сделал!

Пришлось бросить попытки приспособить внутренний контрол Майкрософта к своему календарю. Но нет худа без добра - получилось более стильно, прямо в лучших традициях итальянских дизайнерских школ эпохи Возрождения...

При загрузке файла календарь цепляется к контекстному меню. Запускается правой кнопкой мыши.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37724343
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправлена одна ошибочка.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37724405
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valll,

CDate -зло при различных системных разделителях сразу нарвешься на грабли, что в принципе я уже получил :)
используй dateserial и сразу думай как ты будешь преобразовывать текст в дату
сделай системный разделитель дат / и получай граблями
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37724596
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Принял к сведению. Спасибо. А пока... ещё одну ошибочку нашёл. Исправил.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37724990
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для тех, кто любит по-горячее!

*АКСИОС - НАНО*

Ни грамма "жира" - одни "мышцы"!
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725120
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valll,
12317760
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725146
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valll,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub test()
Dim SepDate$
Const SReg = "HKEY_CURRENT_USER\Control Panel\International\"
SepDate = CreateObject("WScript.Shell").RegRead(SReg & "sDate") 'проверка системного разделителя
CreateObject("WScript.Shell").RegWrite (SReg & "sDate"), "/" ' системный разделитель слеш
'CreateObject("WScript.Shell").RegWrite (SReg & "sDate"), "." ' системный разделитель точка
End Sub



Измените разделитель и потестируйте.
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725340
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий, опасный вы код выложили... Я чуть заикой не остался... Вообщем, людям, читающим эту тему и плохо разбирающихся ЗАЧЕМ? Я настойчиво не советую запускать его.

Автор не прокомментировал что делает этот макрос: он, как я понял, меняет системный разделитель х.з. где, и всё накрывается "медным тазом"! Я понимаю, что Дмитрий хотел показать, что надо внимательнее относиться к датам, но метод он привёл радикальный. За урок, спасибо!
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725388
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valll,
Ну для того что бы вернуть все назад необходимо просто раскоментировать последнюю строку :)
Да и страшного в нем особо ничего нет :))
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725401
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я так и сделал, но запустив сначала макрос и не увидев последствий сразу я выключил комп и ушёл. Прихожу, включаю... и мои макросы не работают! А про ваш макрос я и забыл уже... Вообщем, 5 минут шока я испытал! Потом то дошло, что видимо что-то с системной датой...

В принципе - готовый макровирус...!
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725408
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valllменяет системный разделитель х.з. где, ну программист немного винду-то должен знать. Панель управления - Язык и региональные стандарты - Настройки - Дата
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725418
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valll,
Это лишний раз доказывает , что с датами в VBA необходимо аккуратненько работать. Тем более если что сделали и продвигаете в массы, пусть и бесплатно. Должно быть все продумано если хотите что бы Вас вспоминали добрым словом, а не так Вы меня вспоминали, те самые 5 минут когда соображали что случилось. ......... "Шеф, все пропало........"
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725576
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Dmitry
> CDate -зло при различных системных разделителях сразу нарвешься на грабли

Не такое уж зло, если знать какой в системе разделитель даты.
Код: vbnet
1.
2.
3.
4.
' Проскакивало на форуме, к сожалению автора не запомнил.
' какой в системе разделитель элементов даты
Dim DateSep$
DateSep = Format(0, "/")
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725653
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища,
Я это и имел ввиду, что необходимо заранее заботиться о своих граблях.
авторНе такое уж зло, если знать какой в системе разделитель даты.
из той же оперы:
Код: vbnet
1.
dd/mm/yyyy   -   mm/dd/yyyy   -   dd.mm.yyyy


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Function FormatDateUser(Optional TipeFormat As Long = 0)
Const SReg = "HKEY_CURRENT_USER\Control Panel\International\"
Dim FormatDate$, SepDate$, FormatTime$, SepTime$, aSepUs(), SepDecimal$
With CreateObject("WScript.Shell")
    FormatDate = .RegRead(SReg & "sShortDate")
    SepDate = .RegRead(SReg & "sDate")
    FormatTime = .RegRead(SReg & "STimeFormat")
    SepTime = .RegRead(SReg & "STime")
    SepDecimal = .RegRead(SReg & "sDecimal")
    aSepUs = Array(".", "\", "/", "-", ":")
End With
For i = 0 To UBound(aSepUs)
    FormatDate = Replace(FormatDate, aSepUs(i), SepDate)
    FormatTime = Replace(FormatTime, aSepUs(i), SepTime)
Next
Select Case TipeFormat
Case 0: FormatDateUser = FormatDate & " " & FormatTime
Case 1: FormatDateUser = FormatDate
Case 2: FormatDateUser = FormatTime
Case 3: FormatDateUser = SepDecimal
Case 4: FormatDateUser = SepDate
End Select
End Function
Sub uttt()


Код: vbnet
1.
2.
3.
4.
5.
Dim i&
For i = 0 To 4
Debug.Print FormatDateUser(i)
Next
End Sub

...
Рейтинг: 0 / 0
Калькулятор Дат
    #37725957
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProValllменяет системный разделитель х.з. где, ну программист немного винду-то должен знать. Панель управления - Язык и региональные стандарты - Настройки - Дата

Туда я полез в первую очередь. Век живи - век учись!
...
Рейтинг: 0 / 0
Калькулятор Дат
    #37726433
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё! Полная крутизна! Это какой то термояд!
Послушав старших товарищей решил проблему разделителя дат! Уж не знаю правильно или нет, но работает при любой раскладке. Но это ещё не всё! Уж коль такие проблемы возникли, то я решил вывести текущий разделитель дат на форму калькулятора! Нашёл маленький кусочек ещё не занятого пространства в нижнем левом углу. Там теперь появляется "/" или "."
Просто для информированности бухгалтера...
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Калькулятор Дат
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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