PasteEx(
PasteMode: TabPasteMode;
[SkipEmptyCells: Boolean = False];
[Transpose: Boolean = False]);
PasteEx[
PasteMode: Prognoz.Platform.Interop.Tab.TabPasteMode;
SkipEmptyCells: Boolean;
Transpose: Boolean];
PasteMode. Режим вставки.
SkipEmptyCells. Признак пропуска ячеек с пустыми значениями.
Transpose. Признак необходимости транспонировать данные при вставке.
Метод PasteEx осуществляет специальную вставку.
Для вставки данных из буфера обмена в отмеченную область таблицы используйте метод ITabSheet.Paste.
Специальная вставка из буфера обмена в отмеченную область не поддерживается, если данные скопированы из стороннего источника.
Если во вставляемом диапазоне имеются ячейки с пустым значением и параметру SkipEmptyCells установлено значение True, то для этих ячеек не будут вставлены формулы, оформление, комментарии.
Используется только в настольном приложении.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «Regl_rep».
Добавьте ссылки на системные сборки «Metabase», «Report» и «Tab».
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Rep: IPrxReport;
Tab: ITabSheet;
Sheet: IPrxTable;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("Regl_rep").Edit;
Rep := MObj As IPrxReport;
Sheet := Rep.Sheets.Item(0) As IPrxTable;
Tab := Sheet.TabSheet;
Tab.View.Selection.Range := Tab.Cells(0, 0, 7, 1);
Tab.View.Selection.Copy;
Tab.View.Selection.Range := Tab.Cell(5, 5);
Tab.PasteEx(TabPasteMode.Values, True, True);
MObj.Save;
End Sub UserProc;
После выполнения примера в регламентном отчете будут скопированы значения ячеек «A0:B7» и вставлены в строку, начиная с ячейки «E4».
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Rep: IPrxReport;
Tab: ITabSheet;
Sheet: IPrxTable;
Begin
MB := Params.Metabase;
MObj := MB.ItemById["Regl_rep"].Edit();
Rep := MObj As IPrxReport;
Sheet := Rep.Sheets.Item[0] As IPrxTable;
Tab := Sheet.TabSheet;
Tab.View.Selection.Range := Tab.Cells[0, 0, 7, 1];
Tab.View.Selection.Copy();
Tab.View.Selection.Range := Tab.Cell[8, 8];
Tab.PasteEx(TabPasteMode.tpmValues, True, True);
MObj.Save();
End Sub;
См. также: