-
Ситуация такая: Но первой странице документа выводится текст, он может быть разным по длине. На следующих страницах должны выводиться фотографии. Иногда в одной ячейке вставляется многострочный текст, так что невозможно перейти на страницу по номеру строки. Как в таком случае определить, по какой строке, грубо говоря, excel провел пунктирную линию, разделяющую страницы?
-
надо разбираться с коллекциямиWorksheet.HPageBreaks
(горизонтальные разрывы страниц) иWorksheet.VPageBreaks
(вертикальные) -
написал вот такой макрос в excel:
Range("K18").Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=ActiveCell
Никак не врублюсь, как это перевести в Delphi :0((( -
примерно так (не тестировал):var
mysheet: variant;
{.................................}
mysheet := ExcelApp.Worksheets[1]; //работаем с первым листом
mysheet.HPageBreaks.Add(before:=mysheet.Range('K18'));
{.................................}
mysheet := Unassigned; -
получаю сообщение "Член группы не найден" :0((
-
на какой строке?
-
на строкеmysheet.HPageBreaks.Add(before:=mysheet.Range('K18'));
Точнее на аналогичной у меня:0)) -
вот 100% работающий примерprocedure TForm1.Button1Click(Sender: TObject);
var
XLApp, mysheet: Variant;
begin
try
XLApp := CreateOleObject('Excel.Application');
except
XLApp := Unassigned;
exit;
end;
XLApp.visible := true;
try
XLApp.workbooks.add;
mysheet := XLApp.workbooks[1].Worksheets[1]; //работаем с первым листом
mysheet.HPageBreaks.Add(before:=mysheet.Range['K18']);
finally
if not VarIsClear(mysheet) then
mysheet:= Unassigned;
XLApp.quit;
XLApp := Unassigned;
end;
end; -
Спасибо огромное! Ё-Моё, стока мучений из-за неправильных скобок!:0)))
-
имя(28.01.08 04:21) [9]Удалено модератором -
имя(28.02.08 04:04) [10]Удалено модератором