Форум: "Прочее";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];
ВнизExcel неправильно хранит свой лист в другом формате. Почему? Найти похожие ветки
← →
Vlad Oshin © (2007-04-12 18:23) [0]Вы опять будете смеятся, но вот так.
Как вообще такое может быть?
Т.е. есть у меня файл (книга) экселя, там есть 1 лист.
на листе есть текст в ячейках и есть гиперссылки
Выбираем: файл -> сохранить как -> *.xml или *.htm
Допустим, htm.
Открываем этот htm, видим ту же самую таблицу.
НО: гиперссылки в некоторых ячейках уже не такие!
Сначала думал моя программа лажает - не то и не оттуда читает
← →
alien1769 © (2007-04-12 18:33) [1]Ну для меня это не новость, особенно для старых версий
← →
Vlad Oshin © (2007-04-12 19:03) [2]версия Офиса XPSP2
винда тоже XPsp2
автоматическое обновление включено
Вот чего заметил - первый файл обрабатывается всегда корректно.
Второй и последующие - берутся данные (гиперссылки) те, которые были в предыдущих файлах.
Т.е. ссылки не от фонаря и не мусор, а работающие. Но, те что были до этого, в другом файле. Или через файл назад.
Замочив все процессы эксель и начав сначала можно добится результата.
Интересно, как юзеру это сказать..
- Закрой все окна эксель сам, иначе закрою принудительно через 20..19..18...
мда..
← →
Real © (2007-04-12 22:39) [3]Блин, не знаешь что в этом случае говорят? "Во всем виноват маздай" и все. Пусть обновится для начала хотя бы до Offiice 2003
← →
Vlad Oshin © (2007-04-28 11:22) [4]Все. Клиника. Опять началось.
Прерываю все процессы Excel.
Создаю свой.ExcelApp := CreateOleObject("Excel.Application");
ExcelApp.Application.EnableEvents := false;
Workbook := ExcelApp.WorkBooks.Add(paramstr(1));
Бегу по ячейкам, считываю гиперссылки, все нормально.for j:=2 to remarks-1 do begin //--------------------------
ReadCell(i, j, s1, s2);
ADOqueryData.Active:=false;
ADOqueryData.SQL.Clear;
ADOqueryData.SQL.Add("insert into tb_GlobData values (:p1,:p2,:p3,:p4,:p5)");
ADOqueryData.Parameters.ParamByName("p1").Value := NameFile1;
ADOqueryData.Parameters.ParamByName("p2").Value := j;
ADOqueryData.Parameters.ParamByName("p3").Value := i;
if TryStrToInt(s1,tryV) then ADOqueryData.Parameters.ParamByName("p4").Value := tryV
else ADOqueryData.Parameters.ParamByName("p4").Value := 0;
ADOqueryData.Parameters.ParamByName("p5").Value := s2;
ADOqueryData.ExecSQL; // âûïîëíèòü
Вдруг, опять стала приходить не та гиперссылка. Все приходят правильно, а одна - нет. Причем одна и таже.
Открываю excel, смотрю свойства той ячейки - такие же как и у других.
А ссылка не та, что возвращается..procedure ReadCell(x,y:integer; var ValueCell,HyperLink:string);
begin
ValueCell:=string(WorkBook.WorkSheets[1].Cells[x, y]);
Cell1 := WorkBook.WorkSheets[1].Cells[x, y];
Cell2 := WorkBook.WorkSheets[1].Cells[x, y];
Range := WorkBook.WorkSheets[1].Range[cell1, cell2];
//if strtoint(Range.Hyperlinks.Count)>1 then showmessage("");
if strtoint(Range.Hyperlinks.Count)>0 then HyperLink:= Range.Hyperlinks.item[1].Address
else HyperLink:= "";
end;
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.059 c