![]() |
![]() |
![]() |
|
Вызов функции Excel | ☑ | ||
---|---|---|---|---|
0
asdfwe
05.12.06
✎
13:04
|
ВремяЭксель = Эксель.WorkSheets(Лист).Cells(Стр,7).Value;//0?55534311
ВремяРазговора= Эксель.Minute(ВремяЭксель); {Обработка.Тел_ЗагрузкаРостелеком.Форма.Модуль(101)}: Поле агрегатного объекта не обнаружено (Minute) как вызвать функцию Эксель Minute и передать ей параметр? |
|||
1
ТелепатБот
гуру
05.12.06
✎
13:04
|
||||
2
asdfwe
05.12.06
✎
13:11
|
Minute() - это функция Экселя, а не 1С, нужно в функцию Экселя передать параметр
|
|||
3
КонецЦикла
05.12.06
✎
13:17
|
Впадлу в 1С минутены подсчитать?
|
|||
4
asady
05.12.06
✎
13:20
|
(2)
>Minute() - это функция Экселя это не так! Minute() - это функция VBA! и вызывается она в Экселе из макроса. Теперь думай. |
|||
5
asdfwe
05.12.06
✎
13:23
|
:) описываю проблему:
загружаю инфу из таблицы Экселя в 1с. одно из полей имеет тип Время, которое в Экселе представлено числом типа такого 0,567361111111111. Мне нужно вычислить из него час:мин:сек В Экселе есть функции для этого Hour() Minute() Second() Как вызвать эти функции в 1с? и соответственно передать им параметр (0,567361111111111) |
|||
6
asady
05.12.06
✎
13:27
|
(5) делаешь + три ячейки
в первой формула "=Hour(ТвояЯчейка)" во второй формула "=Minute(ТвояЯчейка)" в третьей формула "=Second(ТвояЯчейка)" в 1С грузи тексты из этих ячеек и склеивай |
|||
7
asdfwe
05.12.06
✎
13:59
|
(5)Этот вариант, как и с макросом не подходит, потому что файл Экселя каждый раз новый присылается. И пользователи не будут редактировать его и вносить в него макросы.
Может кто нибудь знает что из себя представляет формат времени в Эксель? |
|||
8
asady
05.12.06
✎
14:08
|
(7)
почитай Excel. Как создать и выполнить макрос. + посмотри книжку Михайлова "Системное программирование..." можно сделать макросом. |
|||
9
asdfwe
06.12.06
✎
14:26
|
Предложения конечно интересные, но мне всё таки удалось преобразовать число из Экселя в формат чч:мм:сс
вот код Процедура Сформировать() Вр=Число(Сред(ВремяЭкселя,3))*86400; Вр=Число(Лев(Вр,6))/10; Seconds = Окр(Вр); Minutes = Seconds / 60; Seconds = Seconds % 60; Hours = Цел(Minutes / 60); Minutes = Minutes % 60; ВремяТекст = (Прав("0"+Hours,2)+":"+Прав("0"+Minutes,2)+":"+Прав("0"+Seconds,2)); КонецПроцедуры |
|||
10
asdfwe
06.12.06
✎
21:29
|
Спасибо за помощь
Но мне удалось преобразовать число из Экселя в формат чч:мм:сс вот код Процедура Сформировать() Вр=Число(Сред(ВремяЭкселя,3))*86400; Вр=Число(Лев(Вр,6))/10; Seconds = Окр(Вр); Minutes = Seconds / 60; Seconds = Seconds % 60; Hours = Цел(Minutes / 60); Minutes = Minutes % 60; ВремяТекст = (Прав("0"+Hours,2)+":"+Прав("0"+Minutes,2)+":"+Прав("0"+Seconds,2)); КонецПроцедуры |
|||
11
asdfwe
06.12.06
✎
21:31
|
но на самом деле ещё проще
ВремяРазговора = ЗагрузкаЭксель.WorkSheets(Лист).Cells(Стр,7).Text; Дело втом что я вроде делал так, но всё равно получал число. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |