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

Вниз

Delphi & Excel   Найти похожие ветки 

 
pavel_guzhanov   (2003-08-25 17:49) [0]

Я пользуюсь Office XP и Delphi7
Небольшой кусочек функции:
var
m_XLApp: TExcelApplication;
m_Worksheet: ExcelWorksheet;
m_WorkBook: ExcelWorkbook;
range:ExcelRange;
Cell1, Cell2:OleVariant
begin
if not Assigned(m_XLApp) then //если Excel не запущен, запускаем его
m_XLApp:=TExcelApplication.Create(Self);

m_XLApp.Visible[0]:=true; // делаем его видимым
m_XLApp.Workbooks.Add(EmptyParam,1); //добавляем рабочую книгу
// добавляем рабочий лист
m_Worksheet:=ExcelWorksheet(m_XLApp.Workbooks.Item[OleVAriant(1)].Work sheets.Item[OleVAriant(1)]);
// Вот до сюда все работает, далее делаю
Cell1:= m_WorkBook.WorkSheets[1].Cells[1,1];

Cell2 := m_WorkBook.WorkSheets[1].Cells[5, 5];
Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];

Теперь ругается на Undeclared Identifier Cells
Я предполагаю, что неправильно создаю в Workbook Worksheet, но как его сделать правильно, не могу разобраться.
Или же подскажите как передать данные в определенную ячейку Excel, и как выделить область ячеек для последующих манипуляций с ними


 
Романов Р.В.   (2003-08-25 17:59) [1]

Переменная m_WorkBook нигде не присваевается


 
pavel_guzhanov   (2003-08-26 08:54) [2]

Я присвоил значение m_Workbook в строке
m_Workbook:=m_XLApp.Workbooks.Add(EmptyParam,1); //добавляем рабочую книгу
После этого ничего не изменилось, также ругается на Undeclared Identifier Cells


 
Space Rover   (2003-08-26 09:53) [3]

Вот так пойдет? Вроде работает... :)

m_XLApp := TExcelApplication.Create(nil);
m_XLApp.AutoConnect := True;
m_XLApp.ConnectKind := ckRunningOrNew;
CoInitialize(nil);
m_WorkBook := m_XLApp.Workbooks.Add(EmptyParam, 0);
m_Worksheet := nil;
m_WorkBook.Activate(0);
m_Worksheet:=m_XLApp.Workbooks.Item[OleVAriant(1)].Worksheets.Item[Ole VAriant(1)] as ExcelWorkSheet;
m_Worksheet.Activate(0);
m_Worksheet.Range[Cell1, Cell2].Value := Value;
Value := m_Worksheet.Range[Cell1, Cell2].Value;
m_Worksheet.PrintPreview(False, 0);


 
Space Rover   (2003-08-26 09:59) [4]

На всякий случай еще можно добавить вот это:
m_XLApp.Visible[0] := True;


 
Flying Home   (2003-08-26 09:59) [5]

1.
ExcApp := CreateOleObject(ExcVer);
ExcApp.Visible := False;
WrkBk := ExcApp.Workbooks.Open(AppPath + "\StencilMonth.xls");
WrkSht := WrkBk.ActiveSheet;

После этого работаем с WrkSht.Cells[i,j]
2.
RangeStr := IntToRange(m + 5, 1) + ":" + IntToRange(m + 5, 35);
WrkSht.Cells.Range[RangeStr].Borders[9].LineStyle := 2;

RangeStr - функция, которая возврвщает строку типа "A1"



Страницы: 1 вся ветка

Текущий архив: 2003.09.08;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.02 c
6-24610
UserName
2003-07-03 20:47
2003.09.08
record и SendBuf ReceiveBuf


1-24439
falic
2003-08-25 16:31
2003.09.08
Проблема с компиляцией проектов.


1-24429
yuliya
2003-08-28 07:36
2003.09.08
Текстовый файл


1-24544
SH
2003-08-26 17:30
2003.09.08
Ассемблерные вставки


1-24499
Lina
2003-08-27 12:46
2003.09.08
Jpeg





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский