Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

excel numberformat


Valek ©   (2002-10-16 10:14:00) 

при попытке задать свойство numberformat объекта WorkSheet.Range
таким образом:
Worksheet.Range["A1","A1"].NumberFormat:="0.00"
вылетает OLE-Exception с сообщением, что нельзя устанавливать свойство NumberFormat объекта Range. ЧТО ДЕЛАТЬ? КАК БЫТЬ?


MJH   (2002-10-17 15:51:00) [1]

No ideas?


Valek & MJH   (2002-10-17 05:46:00) [2]

andrey_pst, не работает. та же фигня. Delphi 6, оффис 2к, и XP.


MJH   (2002-10-16 19:31:00) [3]

2andrey_pst
нет ответа по сути проблемы - не лезь
че ты развопился? это вообще меня интересует, только спросил другой поцак, т.к. на моем компе инета нету там где я сижу.
завтра попробую сделать, но если опять заорет на ошибку - я тебе щебан дам :)

Delphi5, Excel97
во-во, D6 и Excel2000


andrey_pst   (2002-10-16 17:20:00) [4]

>> MJH
нет ответа по сути проблемы - не лезь

>> Valek
этот код работает (только-что проверил)
Delphi5, Excel97

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Excel97;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
IExcelApp : Excel97._Application; // интерфейс сервера
IExcelWB : Excel97._Workbook; // интерфейс книги
IExcelWS : Excel97._Worksheet; // интерфейс листа
DIExcelR : Excel97.Range; // диспинтерфейс области
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
const
xlLCID = LOCALE_USER_DEFAULT;
begin
// загрузили сервер
IExcelApp := CoExcelApplication.Create;
IExcelApp.Visible[xlLCID] := true;
// добавили книгу
IExcelWB := IExcelApp.Workbooks.Open("c:\test.xls", EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, false, xlLCID);
IExcelWB.Activate(xlLCID);
IExcelWS := IExcelWB.Worksheets.Item["Sheet1"] as Excel97._Worksheet;
IExcelWS.Activate(xlLCID);
// занесем данные в файл Excel:
DIExcelR:= IExcelWS.Range["A1", "A1"] as Excel97.Range; // получили ссылку на область
DIExcelR.Activate;
DIExcelR.NumberFormat := "0.00";
DIExcelR.Value := 2.598;
DIExcelR := nil;
IExcelWS := nil;
IExcelWB.SaveAs("c:\new_test.xls", EmptyParam, EmptyParam, EmptyParam, false, false, xlNoChange, EmptyParam, false, EmptyParam, EmptyParam, xlLCID);
IExcelWB.Close(true, "c:\new_test.xls", false, xlLCID);
IExcelWB := nil;
IExcelApp.Visible[xlLCID] := false;
IExcelApp.Quit;
IExcelApp := nil;
end;

end.


MJH   (2002-10-16 16:06:00) [5]

2andrey_pst
на присваивании 1 эксель вообще повис :)

Не нужно попыток и методов народного тыка, было перепробовано все что пришло в голову. Нужен ответ человека, сталкивавщегося с такой проблемой


andrey_pst   (2002-10-16 15:01:00) [6]

Worksheet.Range["A1","A1"].NumberFormat:=0;


MJH   (2002-10-16 13:12:00) [7]

2AL2002
>Worksheet.Cells["A1","A1"].NumberFormat:="0.00"
:)
думаешь не пробывал?
у Cells вообще индексации нет
>Или может нули с запятой нада? 8-[+]
дело в том что в макросах это прокатывает :-|

2Mike B.
думаешь? свойство вообще не ставится, хоть ты там что угодно напиши....а вот в макросах - тоже самое, через тот же Range все прокатывает....почему????


Mike B.   (2002-10-16 13:04:00) [8]

Worksheets("Sheet1").Range("A1","A1).NumberFormat = "0.00"
По моему - так.


AL2002   (2002-10-16 13:00:00) [9]

Или может нули с запятой нада? 8-[+]


AL2002   (2002-10-16 12:57:00) [10]

Вместо
Worksheet.Range["A1","A1"].NumberFormat:="0.00"
напини
Worksheet.Cells["A1","A1"].NumberFormat:="0.00"

и точку с запятой в конце поставь.


MJH   (2002-10-16 11:50:00) [11]

Никто не вкурсах?


Наверх

Титульная страница Поиск, карта сайта Написать письмо