Форум: "Основная";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
ВнизTOleContainer и Excel Найти похожие ветки
← →
Deltas © (2012-03-07 13:33) [0]Можно ли сделать так, чтобы внутри котейнера отрисовывались ячейки листа не с позиции А1, а с другой... например с B2. То есть что-то вроде свойств TopRow, LeftColumn?
← →
sniknik © (2012-03-07 13:51) [1]Sub Макрос1()
"
" Макрос1 Макрос
" Макрос записан 07.03.2012
"
"
Selection.EntireRow.Hidden = True
Selection.EntireColumn.Hidden = True
End Sub
← →
Deltas © (2012-03-07 21:37) [2]Спасибо.
← →
Deltas © (2012-03-11 16:58) [3]А каким образом можно прокрутить область листа, открытого в Microsoft Excel, т.е. чтобы верхняя левая ячейка была b2, например?
← →
sniknik © (2012-03-11 17:01) [4]без разницы, что угодно делается одинаково... - записываешь макрос, смотришь код.
← →
Deltas © (2012-03-11 17:18) [5]Sub Макрос1()
"
" Макрос1 Макрос
"
"
ActiveWindow.SmallScroll ToRight:=1
ActiveWindow.SmallScroll Down:=1
End Sub
Пытаюсь сделать то же самое из Delphi:
В OleContainer1 (TOleContainer) создаю объект класса "Excel.Sheet.8".procedure TForm1.Button1Click(Sender: TObject);
var
wb: ExcelWorkbook;
ws: ExcelWorksheet;
v: Variant;
begin
OleContainer1.Run;
if Supports(OleContainer1.OleObjectInterface, ExcelWorkbook, wb) then
if (wb.Sheets.Count > 0) and Supports(wb.Sheets[1], ExcelWorksheet, ws) then
begin
v := ws;
v.ActiveWindow.SmallScroll.ToRight := 1;
end;
end;
При нажатии Button1 получаю ошибку "Method "ActiveWindow" not supported by automation object".
← →
Deltas © (2012-03-11 17:29) [6]
procedure TForm1.Button1Click(Sender: TObject);
var
wb: ExcelWorkbook;
ws: ExcelWorksheet;
begin
if Supports(OleContainer1.OleObjectInterface, ExcelWorkbook, wb) then
if (wb.Sheets.Count > 0) and Supports(wb.Sheets[1], ExcelWorksheet, ws) then
ws.Application.ActiveWindow.SmallScroll(1, 0, 0, 0);
end;
Так работает, но только если объект OLE открыт в серверном приложении (MS Office). В противном случае, ActiveWindow имеет значение nil. Хотелось бы крутить таблицу Excel туда-сюда без открытия листа в серверном приложении. Например, значения ячеек я ведь могу записать без открытия объекта в серверном приложении.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.054 c