Главная страница
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.51 c
2-1178376188
Alex8
2007-05-05 18:43
2007.05.27
Перестроение индексов таблиц


15-1177314606
cj
2007-04-23 11:50
2007.05.27
NTFS-DOS


2-1178480212
vofk
2007-05-06 23:36
2007.05.27
Picture


15-1177504095
ocean
2007-04-25 16:28
2007.05.27
Какая дрянь


2-1178784311
Rolf
2007-05-10 12:05
2007.05.27
Диалог выбора директории.