Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.008 c
1-24415
plotn
2003-08-26 10:22
2003.09.08
Хочется странного модального окна


14-24681
GameBoy
2003-08-18 22:01
2003.09.08
Удаленная работа программиста. Миф или реальность?


14-24707
Романов Р.В.
2003-08-19 09:39
2003.09.08
Второй раз падает база в клиенте для форумов DMFC


14-24641
JohnJ
2003-08-21 02:02
2003.09.08
Кладовка


4-24755
Igor__
2003-07-09 12:11
2003.09.08
Метод хранения BitMap в памяти





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский