mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 22:02:58 -06:00
260 lines
5.9 KiB
C++
260 lines
5.9 KiB
C++
#ifndef _OfficeAutomationBase_h
|
|
#define _OfficeAutomationBase_h
|
|
|
|
using namespace Upp;
|
|
|
|
typedef IDispatch* ObjectOle;
|
|
|
|
class VariantOle
|
|
{
|
|
public:
|
|
VariantOle();
|
|
~VariantOle();
|
|
void Bool(bool val);
|
|
void Int(int val);
|
|
void Int4(long val);
|
|
void Real4(float val);
|
|
void Real8(double val);
|
|
void BString(String str);
|
|
void Optional();
|
|
void ObjectOle(::ObjectOle var);
|
|
void Time(Upp::Time t);
|
|
void ArrayDim(int sizeX);
|
|
void ArrayDim(int sizeX, int sizeY);
|
|
void ArraySetValue(int x, ::Value value);
|
|
void ArraySetVariant(int x, VariantOle &value);
|
|
void ArraySetValue(int x, int y, ::Value value);
|
|
void ArraySetVariant(int x, int y, VariantOle &value);
|
|
void Value(::Value value);
|
|
|
|
public:
|
|
VARIANT var;
|
|
};
|
|
|
|
class MSSheet
|
|
{
|
|
public:
|
|
MSSheet();
|
|
~MSSheet();
|
|
|
|
static bool IsAvailable();
|
|
|
|
bool AddSheet(bool visible);
|
|
bool OpenSheet(String fileName, bool visible);
|
|
|
|
bool SetValue(int col, int row, Value value);
|
|
bool SetValue(String cell, Value value);
|
|
bool SetValue(Value value);
|
|
Value GetValue(int col, int row);
|
|
Value GetValue(String cell);
|
|
bool Replace(Value search, Value replace);
|
|
|
|
bool SetBold(int col, int row, bool bold);
|
|
bool SetBold(String cell, bool bold);
|
|
bool SetBold(bool bold);
|
|
bool SetFont(int col, int row, String name, int size);
|
|
bool SetFont(String cell, String name, int size);
|
|
bool SetFont(String name, int size);
|
|
|
|
bool Select(String range);
|
|
bool Select(int fromX, int fromY, int toX, int toY);
|
|
bool Select();
|
|
|
|
bool Print();
|
|
|
|
bool SetSaved(bool);
|
|
bool SaveAs(String fileName, String type = "xls");
|
|
bool Quit();
|
|
|
|
bool InsertTab(String name);
|
|
bool ChooseTab(String name);
|
|
bool ChooseTab(int index);
|
|
bool RemoveTab(String name);
|
|
bool RemoveTab(int index);
|
|
int GetNumTabs();
|
|
|
|
// New functs for next versions
|
|
void DefMatrix(int width, int height);
|
|
bool FillSelectionMatrix();
|
|
void SetMatrixValue(int i, int j, ::Value value);
|
|
|
|
private:
|
|
ObjectOle App;
|
|
ObjectOle Books;
|
|
ObjectOle Book;
|
|
ObjectOle Sheet;
|
|
ObjectOle Range;
|
|
|
|
VariantOle Matrix;
|
|
|
|
bool quit;
|
|
|
|
bool SetVisible(bool visible);
|
|
};
|
|
|
|
class MSDoc
|
|
{
|
|
public:
|
|
MSDoc();
|
|
~MSDoc();
|
|
|
|
static bool IsAvailable();
|
|
|
|
bool AddDoc(bool visible);
|
|
bool OpenDoc(String fileName, bool visible);
|
|
|
|
bool SetFont(String font, int size);
|
|
bool SetBold(bool bold);
|
|
bool SetItalic(bool italic);
|
|
bool WriteText(String value);
|
|
|
|
bool Select();
|
|
|
|
bool Replace(String search, String replace);
|
|
|
|
bool Print();
|
|
|
|
bool SetSaved(bool);
|
|
bool SaveAs(String fileName, String type = "doc");
|
|
bool Quit();
|
|
|
|
private:
|
|
ObjectOle App;
|
|
ObjectOle Docs;
|
|
ObjectOle Doc;
|
|
ObjectOle Selection;
|
|
|
|
bool ReplaceSubset(String search, String replace);
|
|
static String CleanString(String str);
|
|
bool quit;
|
|
|
|
bool SetVisible(bool visible);
|
|
};
|
|
|
|
#define wdFindContinue 1
|
|
#define wdReplaceAll 2
|
|
|
|
|
|
class OPENSheet
|
|
{
|
|
public:
|
|
OPENSheet();
|
|
~OPENSheet();
|
|
|
|
static bool IsAvailable();
|
|
|
|
bool AddSheet(bool visible);
|
|
bool OpenSheet(String fileName, bool visible);
|
|
|
|
bool SetValue(int col, int row, Value value);
|
|
bool SetValue(String cell, Value value);
|
|
bool SetValue(Value value);
|
|
Value GetValue(int col, int row);
|
|
Value GetValue(String cell);
|
|
bool Replace(Value search, Value replace);
|
|
|
|
bool SetBold(int col, int row, bool bold);
|
|
bool SetBold(String cell, bool bold);
|
|
bool SetBold(bool bold);
|
|
bool SetFont(int col, int row, String name, int size);
|
|
bool SetFont(String cell, String name, int size);
|
|
bool SetFont(String name, int size);
|
|
|
|
bool Select(String range);
|
|
bool Select(int fromX, int fromY, int toX, int toY);
|
|
bool Select();
|
|
/* // New functs for next versions
|
|
void DefMatrix(int width, int height);
|
|
bool FillSelectionMatrix();
|
|
void SetMatrixValue(int i, int j, ::Value value);
|
|
*/
|
|
bool Print();
|
|
|
|
bool SetSaved(bool);
|
|
bool SaveAs(String fileName, String type = "xls");
|
|
bool Quit();
|
|
|
|
bool InsertTab(String name);
|
|
bool ChooseTab(String name);
|
|
bool ChooseTab(int index);
|
|
bool RemoveTab(String name);
|
|
bool RemoveTab(int index);
|
|
int GetNumTabs();
|
|
|
|
// New functs for next versions
|
|
bool SetItalic(String cell, bool italic);
|
|
bool SetItalic(int col, int row, bool italic);
|
|
bool SetItalic(bool italic);
|
|
bool SetUnderline(bool underline);
|
|
bool SetUnderline(String cell, bool underline);
|
|
bool SetUnderline(int col, int row, bool underline);
|
|
bool SetHorizJustify(int justify);
|
|
bool SetHorizJustify(String cell, int justify);
|
|
bool SetHorizJustify(int col, int row, int justify);
|
|
bool SetVertJustify(String cell, int justify);
|
|
bool SetVertJustify(int col, int row, int justify);
|
|
bool SetCellBackColor(Color color);
|
|
bool SetCellBackColor(String cell, Color color);
|
|
bool SetCellBackColor(int col, int row, Color color);
|
|
bool SetFormat(String format);
|
|
bool SetColWidth(int col, int width);
|
|
bool SetRowHeight(int row, int height);
|
|
|
|
private:
|
|
ObjectOle ServiceManager;
|
|
ObjectOle CoreReflection;
|
|
ObjectOle Desktop;
|
|
ObjectOle Document;
|
|
ObjectOle Sheets;
|
|
ObjectOle Sheet;
|
|
ObjectOle Cell;
|
|
ObjectOle Range;
|
|
|
|
bool selectedAll;
|
|
bool SelCell(int x, int y);
|
|
bool SetVisible(bool visible);
|
|
bool quit;
|
|
};
|
|
|
|
class OPENDoc
|
|
{
|
|
public:
|
|
OPENDoc();
|
|
~OPENDoc();
|
|
|
|
static bool IsAvailable();
|
|
|
|
bool AddDoc(bool visible);
|
|
bool OpenDoc(String fileName, bool visible);
|
|
|
|
bool SetFont(String font, int size);
|
|
bool SetBold(bool bold);
|
|
bool SetItalic(bool italic);
|
|
bool WriteText(String value);
|
|
|
|
bool Select();
|
|
|
|
bool Replace(String search, String replace);
|
|
|
|
bool Print();
|
|
|
|
bool SetSaved(bool);
|
|
bool SaveAs(String fileName, String type = "doc");
|
|
bool Quit();
|
|
|
|
// New functs for next versions
|
|
bool SetColor(Color col);
|
|
|
|
private:
|
|
ObjectOle ServiceManager;
|
|
ObjectOle CoreReflection;
|
|
ObjectOle Desktop;
|
|
ObjectOle Document;
|
|
ObjectOle Text;
|
|
ObjectOle Cursor;
|
|
bool quit;
|
|
|
|
bool SetVisible(bool visible);
|
|
};
|
|
|
|
#endif
|