![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Никто не вкурсах?