Текущее время: Сб, авг 02 2025, 21:00

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Excel->Clipboard->InnerTable
СообщениеДобавлено: Ср, июл 25 2007, 09:56 
Специалист
Специалист

Зарегистрирован:
Ср, мар 21 2007, 14:32
Сообщения: 158
Господа!
Открываю экселевский файл через ОЛЕ. Выделяю диапазон, вызываю COPY для экселя и с помощью ФМ 'CLPB_IMPORT' копирую все это дело во внутреннюю таблицу.
Теперь вопрос. В копируемом RANGE присутствуют даты в виде "06.май" (на самом деле значение в ячейке 06.05.2007). Она в виде "06.май" и копируется во внутреннюю таблицу. Как мне это дело преобразовать в нормальный саповский DATS? Год ведь получается неоткуда брать. Неужто придется руками экселевский лист пробегать, чтобы нормальное значение получить?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 11:07 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
А нельзя в свойствах ячейки для всей колонки Excel изменить вид вывода даты? Или даже делать это программно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 11:10 
Специалист
Специалист

Зарегистрирован:
Ср, мар 21 2007, 14:32
Сообщения: 158
так и сделал уже


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 11:18 
Ассистент
Ассистент

Зарегистрирован:
Ср, окт 25 2006, 23:58
Сообщения: 45
Откуда: Москва
Попробуй через OLE после открытия файла выполнить следующий код на VBA:

Code:
    Range("A1:A200").Select
    Dim cl As Range
    For Each cl In Selection
     cl.NumberFormat = "YYYYMMDD"
     cl = Format(cl, "0")
    Next cl

_________________
Все можно починить, если долго вертеть в руках.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 11:28 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Ненавижу макросы, каждый раз при открытия excel кнопку тыкать. :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 12:03 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
Ненавижу макросы, каждый раз при открытия excel кнопку тыкать. :-)

Если документ через OLE открывать, то ничего тыкать не надо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 14:26 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sibrin написал:
Если документ через OLE открывать, то ничего тыкать не надо.

Возможно. Но корпортивная политика требует использование DBS и SOI.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 14:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Тогда остаётся сдаться мелкософту и подписывать макросы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 14:38 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sibrin написал:
Тогда остаётся сдаться мелкософту и подписывать макросы.


У юзеров в настройках защиты отключили, но все равно стараюсь макросы использовать в случае крайней необходимости.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 17:04 
Специалист
Специалист

Зарегистрирован:
Ср, мар 21 2007, 14:32
Сообщения: 158
Еще вопрос возник.
почему следующий код не работает?

CALL METHOD OF o_workbook 'Sheets' = o_sheet
EXPORTING #1 = sheet_idx.
...
call method of o_sheet 'Cells' = o_cell_1
exporting #1 = 6 #2 = 8.
call method of o_sheet 'Cells' = o_cell_2
exporting #1 = 10 #2 = 8.
call method of o_sheet 'RANGE' = o_frange
exporting #1 = o_cell_1 #2 = o_cell_2.
SET PROPERTY OF o_frange 'NumberFormat' = 'm/d/yyyy'.
Не меняет формат хоть убей.

А вот такой меняет
call method of o_sheet 'Columns' = o_range
exporting #1 = 8.
SET PROPERTY OF o_range 'NumberFormat' = 'm/d/yyyy'.

но мне нужно не для всей колонки.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 25 2007, 17:32 
Специалист
Специалист

Зарегистрирован:
Ср, мар 21 2007, 14:32
Сообщения: 158
все отбой. спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot], Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB