Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2015, 21:57   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Вопрос Превратить текст в гиперссылку в Excel

Доброго времени суток!
Передаю содержимое ListView в Excel
Код:
procedure ListToExcel(ListView: TListView);
var
  i, n: Integer;
  Range, Sheet: VAriant;
  Excel: OleVariant;
begin
  try
    Excel := CreateOleObject('Excel.Application');
  except
    raise Exception.Create('Невозможно поключиться к серверу Excel');
  end;

  Screen.Cursor := crHourGlass;
  Excel.SheetsInNewWorkBook := 1;
  Excel.WorkBooks.Add;
  Sheet := Excel.Workbooks[1].Sheets[1];
  Range := Sheet.Columns;
  Range.Columns[1].ColumnWidth := 30;
  Range.Columns[2].ColumnWidth := 30;
  Range.Columns[3].ColumnWidth := 30;

  Range.Rows[1].Font.Bold := True;

  for i := 0 to ListView.Columns.Count - 1 do
  begin
    Sheet.Cells[1, i + 1] := ListView.Column[i].Caption;
  end;

  for i := 0 to ListView.Items.Count - 1 do
  begin
    Sheet.Cells[i + 2, 1] := ListView.Items[i].Caption;
    for n := 1 to ListView.Columns.Count - 1 do
    begin
      Sheet.Cells[i + 2, n + 1] := ListView.Items[i].SubItems.Strings[n - 1];
    end;
  end;

  Screen.Cursor := crDefault;
  Excel.Visible := True; // Показываем Excel
end;
Потребовалось превратить содержимое второго столбца Excel в гиперссылки. Как это можно сделать?
Shouldercannon вне форума Ответить с цитированием
Старый 27.03.2015, 14:33   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Вот пара вариантов:
Delphi - Excel, автоматическое создание гиперссылки
Excel и гиперссылка
Streletz вне форума Ответить с цитированием
Старый 27.03.2015, 20:03   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Код:
var
  i, n: Integer;
  Range, Sheet: VAriant;
  Excel: OleVariant;
begin
  try
    Excel := CreateOleObject('Excel.Application');
  except
    raise Exception.Create('Невозможно подключиться к серверу Excel');
  end;

  Screen.Cursor := crHourGlass;
  Excel.SheetsInNewWorkBook := 1;
  Excel.WorkBooks.Add;
  Sheet := Excel.Workbooks[1].Sheets[1];
  Range := Sheet.Columns;
  Range.Columns[1].ColumnWidth := 30;
  Range.Columns[2].ColumnWidth := 30;
  Range.Columns[3].ColumnWidth := 30;

  Range.Rows[1].Font.Bold := True;

  for i := 0 to ListView.Columns.Count - 1 do
  begin
    Sheet.Cells[1, i + 1] := ListView.Column[i].Caption; // Названия столбцов
  end;

  for i := 0 to ListView.Items.Count - 1 do
  begin
    Sheet.Cells[i + 2, 1] := ListView.Items[i].Caption; // Заполнение первого столбца

    for n := 1 to ListView.Columns.Count - 1 do
    begin
      Sheet.Cells[i + 2, n + 1] := ListView.Items[i].SubItems.Strings[n - 1]; // Заполнение остальных столбцов
    end;
  end;

  for i := 0 to ListView.Items.Count - 1 do
  begin
    Range := Sheet.Range[Format('B%d', [i + 2]), Format('B%d', [i + 2])]; // Указываем диапазон
    Range.Hyperlinks.Add(Range, ListView.Items[i].SubItems[0], EmptyParam, EmptyParam, EmptyParam); // Превращаем в гиперссылку
  end;

  Screen.Cursor := crDefault;
  Excel.Visible := True; // Показываем Excel
end;

Последний раз редактировалось Shouldercannon; 27.03.2015 в 22:09.
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
listbox превратить в текст поле muham33 Помощь студентам 0 27.12.2012 07:10
Превратить js в winforms escapade Windows Forms 2 31.01.2012 16:43
Excel 2003 Вопрос про гиперссылку и как ее открыть? star282 Microsoft Office Excel 3 20.06.2011 10:42
//Можно ли код Delphi превратить в VBA Excel ocean_regata Общие вопросы Delphi 4 30.01.2009 14:57
Превратить текст в условие ZORRO2005 Microsoft Office Excel 4 24.06.2008 05:15