AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.11.2003, 17:24   #1  
bucken_imported is offline
bucken_imported
Участник
 
7 / 10 (1) +
Регистрация: 13.11.2003
Вопрос:
Как (нужен кусочек кода) вытащить значения из ячейки Excell в Axapte посредством COM ?

Примечание:
писать в ексель получалось без проблем, а вот обратно ... что то не смог функцию найти.
Старый 21.11.2003, 10:10   #2  
competitor is offline
competitor
Участник
 
10 / 10 (1) +
Регистрация: 17.03.2003
Код:
      SysExcelApplication    sysExcelApplication;
      SysExcelWorksheet      sysExcelWorksheet;
      SysExcelCell           sysExcelCell;
      int                    row,col,k;


      str                    path = "C:\\Customers.xls";

     ;
      sysExcelApplication = sysExcelApplication::construct();
      sysExcelApplication.workbooks().open(path);

      if(!sysExcelApplication.workbooks())
          throw error("Ошибка открытия файла!");

      SysExcelWorksheet  = sysExcelApplication.workbooks().item(1).worksheets().itemFromNum(1);

      if(!SysExcelWorksheet)
          throw error("Книга пустая");


      ttsbegin;

      custTable.selectForUpdate(true);

      for(row = 2; row <= 100;  row++)
      {
         sysExcelCell  = SysExcelWorksheet.cells().item(row,1);

         custTable.clear();
         custTable.AccountNum = num2str0(row,1);

         custTable.Name              = SysExcelWorksheet.cells().item(row,2).value().bStr();
         custTable.INN_RU            = SysExcelWorksheet.cells().item(row,3).value().bStr();
         /*************************************
          прочий код здесь
         **************************************/
         custTable.insert();

      }

      ttscommit;

      sysExcelApplication.workbooks().close();
Старый 21.11.2003, 10:17   #3  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
Также для тех, кому лень программировать, стандартная примочка для обмена с Екселем
http://www.atlasxl.com.au/AtDownload.htm

Можно у них код посмотреть...
__________________
All information in this post is strictly confidential. If you have read it in error, please forget it immediately.
Старый 27.11.2003, 16:51   #4  
bucken_imported is offline
bucken_imported
Участник
 
7 / 10 (1) +
Регистрация: 13.11.2003
спасибо.
Старый 30.03.2005, 11:06   #5  
Александр Костоусов is offline
Александр Костоусов
drc
 
97 / 10 (1) +
Регистрация: 18.08.2004
<div class='XPPtop'>X++</div><div class='XPP'>
[color=:blue]for[/color](row = 2; row <= 100;  row++)
{
}</div>

А как достоверно узнать конец Excel-файла?
Старый 30.03.2005, 11:29   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
А нет его. Разве что почти достоверно - по определенному количеству пустых строк. Если есть выделенная область (selection) - ее размеры получаются тривиально
__________________
-ТСЯ или -ТЬСЯ ?
Старый 30.03.2005, 15:07   #7  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
:(
... Нет-то его нет, но если у Вас есть прямоугольная (или какая-то разумная, заполненная ячейками) область листа, то поступить можно, например, так (код на VBA for Microsoft Excel):
Код:
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
 


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:59.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.