Текущее время: Вс, авг 03 2025, 01:02

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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