Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c