Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Excel.Application а как вставлять данные в "метки" 
V
    Опции темы
Mugger
Дата 6.2.2007, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 6.2.2007

Репутация: нет
Всего: нет



Сразу к делу!

Есть шаблон, который отформатирован специальным образом.
Есть поля в шаблоне с текстом ячейки типа "field1, field2......"

Как эффективно заменять текст в этих ячейках на другие данные?

Единственный вариант который вижу - это поиск+вставка.

Может есть более эффективные пути?
например в шаблон вставить какойто макрос, которому можно присвоить переменным данные, затем запустить макрос, и он сам раставит данные по ячейкам....
(тупо прировняет переменные к ячейкам)

Это сообщение отредактировал(а) Mugger - 6.2.2007, 19:47
PM MAIL   Вверх
Albinos_x
Дата 6.2.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Поиск в книге

Код

…
if OpenDialog1.Execute then
   begin
   // запускаем Excel
   ExcelApplication1.AutoConnect:=true;
   // открываем книгу
   ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.OpenXML(OpenDialog1.FileName,EmptyParam));
   // соединяемся с книгой
   ExcelWorksheet1.ConnectTo(ExcelWorkbook1.ActiveSheet as ExcelWorksheet);
   // делаем видимым Excel
   ExcelApplication1.Visible[0]:=true;
   What:='444';
   After:=EmptyParam;    {указатель на Range - откуда искать}
   LookIn:=xlFormulas; {=-4121, xlComments , xlValues}
   LookAt:=xlPart; {=2 ,xlWhole}
   SearchOrder:=xlByRows;  {=1 ,xlByColumns} {просматривать по строкам/по столбцам}
   SearchDirection:=xlNext; {=1 ,xlPrevious}
   MathCase:=False;      {учитывать регистр}
   MathByte:=EmptyParam;  {предпологаю, что искать ячейку целиком}
   SearchFormat:=False;  {формат не задан, если необходимо задать, то это делается отдельно}
   ExcelWorksheet1.Cells.Find(What,After,LookIn,LookAt,SearchOrder,SearchDirection,MathCase,MathByte,SearchFormat).Activate;
{   // выходим из Excel
   ExcelApplication1.Quit;  }
   end;
…





--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Mugger
Дата 6.2.2007, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 6.2.2007

Репутация: нет
Всего: нет



Спасибо большое!

Если кому интересно, вот что получилось:

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  WorkbookName: string;
  IRange: ExcelXP.ExcelRange;
begin
WorkbookName:='c:\test.xls';
ExcelApplication1:= TExcelApplication.Create(Self);
ExcelApplication1.Connect;
if Assigned(ExcelApplication1) then
  begin
    ExcelApplication1.Visible[0]:=true;
    ExcelApplication1.ScreenUpdating[0]:=true;
    ExcelApplication1.Workbooks.Add(WorkbookName, 0);
    IRange:=ExcelApplication1.Cells.Find('Field1',
      EmptyParam,
      EmptyParam,
      xlPart,
      xlByRows,
      xlNext,
      False,
      EmptyParam,
      False);
    IRange.Value2:='TEST';
  end;
end;


А вот описание, которое может пригодиться:
Цитата

   What  Required Variant.  The data to search for. Can be a string or any Microsoft Excel data type.

    After  Optional Variant.  The cell after which you want the search to begin. This corresponds to the position of the active cell when a search is done from the user interface. Note that After must be a single cell in the range. Remember that the search begins after this cell; the specified cell isn’t searched until the method wraps back around to this cell. If you don’t specify this argument, the search starts after the cell in the upper-left corner of the range.

    LookIn  Optional Variant. The type of information.

    LookAt  Optional Variant. Can be one of the following XlLookAt constants: xlWhole or xlPart.

    SearchOrder  Optional Variant. Can be one of the following XlSearchOrder constants: xlByRows or xlByColumns.

    SearchDirection  Optional XlSearchDirection. The search direction.

    XlSearchDirection can be one of these XlSearchDirection constants.
    xlNext default
    xlPrevious

    MatchCase  Optional Variant.  True to make the search case sensitive. The default value is False.

    MatchByte  Optional Variant.  Used only if you’ve selected or installed double-byte language support. True to have double-byte characters match only double-byte characters. False to have double-byte characters match their single-byte equivalents.

    SearchFormat  Optional Variant. The search format.



Это сообщение отредактировал(а) Mugger - 6.2.2007, 21:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.