office-gobmx/oovbaapi/ooo/vba/excel/XRange.idl
Balazs Varga 85d1ead3f9 tdf#149786 sc: add VBA function: ExportAsFixedFormat
Add ExportAsFixedFormat VBA function for calc.

Works fine with Workbook/Worksheet/Range objects

Optional parameters:
- Type: works but only with xlTypePDF. (xlTypeXPS not supperted by LO)
- FileName: works but not clear the xlQualityStandard or xlQualityMinimum real value,
so just used the lossless export in case of xlQualityStandard and 70% JPEG compression quality
for xlQualityMinimum.
- IncludeDocProperties: works
- IgnorePrintAreas: TODO
- From: works
- To: works
- OpenAfterPublish: works
- FixedFormatExtClassPtr: TODO?

Change-Id: I128fd880a82a5dd315897496c6f21bb9a7c2270b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146512
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-02-14 10:41:17 +00:00

149 lines
6.8 KiB
Text

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
module ooo { module vba { module excel {
interface XFont;
interface XRows;
interface XColumns;
interface XComment;
interface XInterior;
interface XCharacters;
interface XBorders;
interface XValidation;
interface XWorksheet;
interface XName;
interface XRange
{
interface com::sun::star::container::XEnumerationAccess;
interface com::sun::star::script::XDefaultMethod;
interface com::sun::star::script::XDefaultProperty;
interface com::sun::star::script::XErrorQuery;
interface ::ooo::vba::excel::XFormat;
//interface ::ooo::vba::XHelperInterface;
[attribute] any Value;
[attribute] any Value2;
[attribute] any Formula;
[attribute] any FormulaArray;
[attribute] any FormulaR1C1;
[attribute] any FormulaLocal;
[attribute] any FormulaR1C1Local;
[attribute, readonly] long Count;
[attribute, readonly] long Row;
[attribute, readonly] long Column;
[attribute, readonly] string Text;
[attribute, readonly] XRange EntireRow;
[attribute, readonly] XRange EntireColumn;
[attribute, readonly] XComment Comment;
[attribute] any Hidden;
[attribute] any ColumnWidth;
[attribute, readonly ] any Width;
[attribute, readonly] XWorksheet Worksheet;
[attribute, readonly] XName Name;
[attribute] any RowHeight;
[attribute, readonly ] any Height;
[attribute, readonly ] any Top;
[attribute, readonly ] any Left;
[attribute] any PageBreak;
[attribute, readonly] XValidation Validation;
[attribute, readonly] any PrefixCharacter;
[attribute] any Style
{
get raises ( com::sun::star::script::BasicErrorException );
};
[attribute] any AddIndent;
[attribute] any ShowDetail;
XComment AddComment( [in] any Text );
void Clear();
void ClearComments();
void ClearContents();
void ClearFormats();
any HasFormula();
void FillLeft();
void FillRight();
void FillUp();
void FillDown();
XRange Item([in] any RowIndex, [in] any ColumnIndex) raises(com::sun::star::script::BasicErrorException);
XRange Offset([in] any RowOffset, [in] any ColumnOffset);
XRange CurrentRegion();
XRange CurrentArray();
string Characters([in] any Start, [in] any Length);
string Address( [in] any RowAbsolute, [in] any ColumnAbsolute, [in] any ReferenceStyle, [in] any External, [in] any RelativeTo );
XRange Cells([in] any RowIndex, [in] any ColumnIndex);
void Select();
void AutoOutline() raises(com::sun::star::script::BasicErrorException);
void Activate();
XRange Rows( [in] any RowIndex );
void Calculate() raises(com::sun::star::script::BasicErrorException);
XRange Columns( [in] any ColumnIndex );
void Copy([in] any Destination);
void Cut([in] any Destination);
XRange Resize( [in] any RowSize, [in] any ColumnSize );
XRange Range( [in] any Cell1, [in] any Cell2 );
any getCellRange();
void PasteSpecial([in] any Paste, [in] any Operation,[in] any SkipBlanks, [in] any Transpose);
boolean Replace( [in] string What, [in] string Replacement, [in] any LookAt, [in] any SearchOrder, [in] any MatchCase, [in] any MatchByte, [in] any SearchFormat, [in] any ReplaceFormat );
XRange Find( [in] any What, [in] any After, [in] any LookIn, [in] any LookAt, [in] any SearchOrder, [in] any SearchDirection, [in] any MatchCase, [in] any MatchByte, [in] any SearchFormat );
void Sort( [in] any Key1, [in] any Order1, [in] any Key2, [in] any Type,
[in] any Order2, [in] any Key3, [in] any Order3,
[in] any Header, [in] any OrderCustom, [in] any MatchCase,
[in] any Orientation, [in] any SortMethod, [in] any DataOption1,
[in] any DataOption2, [in] any DataOption3 );
XRange End( [in] long Direction );
// bizarrely I have to define Character method as character otherwise
// idl complains
XCharacters characters([in] any Start, [in] any Length);
void Delete( [in] any Shift );
any Areas( [in] any Item );
any BorderAround( [in] any LineStyle, [in] any Weight, [in] any ColorIndex, [in] any Color );
void AutoFilter([in ] any Field, [in] any Criteria1, [in] any Operator, [in] any Criteria2, [in] any VisibleDropDown);
void Insert([in] any Shift, [in] any CopyOrigin);
void Autofit() raises(com::sun::star::script::BasicErrorException);
void PrintOut([in] any From, [in] any To, [in] any Copies, [in] any Preview, [in] any ActivePrinter, [in] any PrintToFile, [in] any Collate, [in] any PrToFileName);
void ExportAsFixedFormat([in] any Type, [in] any FileName, [in] any Quality, [in] any IncludeDocProperties, [in] any IgnorePrintAreas, [in] any From, [in] any To, [in] any OpenAfterPublish, [in] any FixedFormatExtClassPtr);
void AutoFill( [in] XRange Destination, [in] any Type );
boolean GoalSeek( [in] any Goal, [in] XRange ChangingCell );
void ClearOutline() raises(com::sun::star::script::BasicErrorException);
void Ungroup() raises(com::sun::star::script::BasicErrorException);
void Group() raises(com::sun::star::script::BasicErrorException);
void Merge([in] any Across) raises(com::sun::star::script::BasicErrorException);
void UnMerge() raises(com::sun::star::script::BasicErrorException);
XRange Next( ) raises ( com::sun::star::script::BasicErrorException );
XRange Previous( ) raises ( com::sun::star::script::BasicErrorException );
XRange SpecialCells( [in] any Type, [in] /*Optional*/ any Value ) raises ( com::sun::star::script::BasicErrorException );
void RemoveSubtotal() raises ( com::sun::star::script::BasicErrorException );
void Subtotal( [in] long GroupBy, [in] long Function, [in] /*Optional*/ sequence<long> TotalList, [in] /*Optional*/ any Replace, [in] /*Optional*/ any PageBreaks, [in] any SummaryBelowData ) raises ( com::sun::star::script::BasicErrorException );
XRange MergeArea( ) raises ( com::sun::star::script::BasicErrorException );
any Hyperlinks( [in] any Index );
};
}; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */