Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.035 c
15-1177417389
ArtemESC
2007-04-24 16:23
2007.05.27
Вопросик интересный...


15-1177875190
ArtemESC
2007-04-29 23:33
2007.05.27
Паскаль-парсер...


4-1166796037
AMS
2006-12-22 17:00
2007.05.27
про CreateProcess


15-1177870163
palva
2007-04-29 22:09
2007.05.27
Михаил Веллер


15-1178042772
ShadowMan
2007-05-01 22:06
2007.05.27
TFileStream