mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
.OfficeAutomation: Added GetText.
git-svn-id: svn://ultimatepp.org/upp/trunk@3645 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
4be48ad5db
commit
4e65fa5a5d
4 changed files with 109 additions and 0 deletions
|
|
@ -378,6 +378,15 @@ ObjectOle Ole::MethodGet(ObjectOle from, String which, VariantOle &value, Varian
|
|||
return result.pdispVal;
|
||||
}
|
||||
|
||||
ObjectOle Ole::MethodGet(ObjectOle from, String which, VariantOle &value, VariantOle &value2, VariantOle &value3, VariantOle &value4, VariantOle &value5) {
|
||||
VARIANT result;
|
||||
VariantInit(&result);
|
||||
if(!Ole::Invoke(DISPATCH_METHOD, &result, from, which, 4, value.var, value2.var, value3.var, value4.var, value5.var))
|
||||
return NULL;
|
||||
else
|
||||
return result.pdispVal;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
INITBLOCK {
|
||||
|
|
@ -597,6 +606,50 @@ Value MSSheet::GetValue(String cell) {
|
|||
return GetValue(col, row);
|
||||
}
|
||||
|
||||
Value MSSheet::GetText(String cell) {
|
||||
int row, col;
|
||||
|
||||
OfficeSheet::CellToColRow(cell, col, row);
|
||||
return GetText(col, row);
|
||||
}
|
||||
|
||||
// cell in textual format like "B14"
|
||||
bool MSSheet::SetHyperlink(String cell, String address, String value) {
|
||||
int col, row;
|
||||
|
||||
OfficeSheet::CellToColRow(cell, col, row);
|
||||
return MSSheet::SetValue(col, row, value);
|
||||
}
|
||||
|
||||
bool MSSheet::SetHyperlink(int col, int row, String address, String value) {
|
||||
if (!Sheet)
|
||||
return false;
|
||||
|
||||
if (!Select(col, row, col, row))
|
||||
return false;
|
||||
|
||||
return SetHyperlink(address, value);
|
||||
}
|
||||
|
||||
bool MSSheet::SetHyperlink(String address, String value) {
|
||||
if (!Sheet)
|
||||
return false;
|
||||
|
||||
if (!Range)
|
||||
return false;
|
||||
|
||||
ObjectOle hyperlinks = Ole::GetObject(Sheet, "Hyperlinks");
|
||||
|
||||
VariantOle textToDisplay, screenTip, subAddress, saddress, range;
|
||||
textToDisplay.BString(value);
|
||||
screenTip.BString("");
|
||||
subAddress.BString("");
|
||||
saddress.BString(address);
|
||||
range.ObjectOle(Range);
|
||||
|
||||
return Ole::MethodGet(hyperlinks, "Add", textToDisplay, screenTip, subAddress, saddress, range);
|
||||
}
|
||||
|
||||
bool MSSheet::SaveAs(String fileName, String type) {
|
||||
if (!Book)
|
||||
return false;
|
||||
|
|
@ -1711,6 +1764,13 @@ Value OPENSheet::GetValue(String cell) {
|
|||
return GetValue(col, row);
|
||||
}
|
||||
|
||||
Value OPENSheet::GetText(String cell) {
|
||||
int row, col;
|
||||
|
||||
OfficeSheet::CellToColRow(cell, col, row);
|
||||
return GetText(col, row);
|
||||
}
|
||||
|
||||
bool OPENSheet::SaveAs(String fileName, String type) {
|
||||
if (!Document)
|
||||
return false;
|
||||
|
|
@ -1794,6 +1854,38 @@ bool OPENSheet::SetValue(Value value) {
|
|||
return Ole::Method(Range, "setValue", vText);
|
||||
}
|
||||
|
||||
bool OPENSheet::SetHyperlink(String cell, String address, String text) { // cell in textual format like "B14"
|
||||
int col, row;
|
||||
OfficeSheet::CellToColRow(cell, col, row);
|
||||
return SetHyperlink(col, row, address, text);
|
||||
}
|
||||
|
||||
bool OPENSheet::SetHyperlink(int col, int row, String address, String text) {
|
||||
/* if (!SelCell(col, row))
|
||||
return false;
|
||||
VariantOle vText;
|
||||
vText.Value(value);
|
||||
if (value.Is<String>() || value.Is<Date>() || value.Is<Time>())
|
||||
return Ole::Method(Cell, "setFormula", vText);
|
||||
else
|
||||
return Ole::Method(Cell, "setValue", vText);
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
bool OPENSheet::SetHyperlink(String address, String text) {
|
||||
/* if(!Range)
|
||||
return false;
|
||||
VariantOle vText;
|
||||
vText.Value(value);
|
||||
if (value.Is<String>() || value.Is<Date>() || value.Is<Time>())
|
||||
return Ole::Method(Range, "setFormula", vText);
|
||||
else
|
||||
return Ole::Method(Range, "setValue", vText);
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
bool OPENSheet::SetItalic(String cell, bool italic) {
|
||||
int col, row;
|
||||
OfficeSheet::CellToColRow(cell, col, row);
|
||||
|
|
|
|||
|
|
@ -167,6 +167,7 @@ public:
|
|||
static ObjectOle MethodGet(ObjectOle from, String which, VariantOle &value, VariantOle &value2);
|
||||
static ObjectOle MethodGet(ObjectOle from, String which, VariantOle &value, VariantOle &value2, VariantOle &value3);
|
||||
static ObjectOle MethodGet(ObjectOle from, String which, VariantOle &value, VariantOle &value2, VariantOle &value3, VariantOle &value4);
|
||||
static ObjectOle MethodGet(ObjectOle from, String which, VariantOle &value, VariantOle &value2, VariantOle &value3, VariantOle &value4, VariantOle &value5);
|
||||
static bool IsOn() {return numOleInit > 0;};
|
||||
private:
|
||||
static int numOleInit;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@
|
|||
virtual Value GetValue(int col, int row); \
|
||||
virtual Value GetValue(String cell); \
|
||||
virtual Value GetText(int col, int row); \
|
||||
virtual Value GetText(String cell); \
|
||||
virtual bool SetHyperlink(int col, int row, String address, String text); \
|
||||
virtual bool SetHyperlink(String cell, String address, String text); \
|
||||
virtual bool SetHyperlink(String address, String text); \
|
||||
virtual bool Replace(Value search, Value replace); \
|
||||
\
|
||||
virtual bool SetBold(int col, int row, bool bold); \
|
||||
|
|
|
|||
|
|
@ -111,9 +111,21 @@ Value OfficeSheet::GetValue(String cell) {return (static_cast<SheetPlugin *>(Get
|
|||
Value SheetPlugin::GetValue(int col, int row) {return Null;}
|
||||
Value OfficeSheet::GetValue(int col, int row) {return (static_cast<SheetPlugin *>(GetData()))->GetValue(col, row);}
|
||||
|
||||
Value SheetPlugin::GetText(String cell) {return Null;}
|
||||
Value OfficeSheet::GetText(String cell) {return (static_cast<SheetPlugin *>(GetData()))->GetText(cell);}
|
||||
|
||||
Value SheetPlugin::GetText(int col, int row) {return Null;}
|
||||
Value OfficeSheet::GetText(int col, int row) {return (static_cast<SheetPlugin *>(GetData()))->GetText(col, row);}
|
||||
|
||||
bool SheetPlugin::SetHyperlink(int col, int row, String address, String text) {return false;}
|
||||
bool OfficeSheet::SetHyperlink(int col, int row, String address, String text) {return (static_cast<SheetPlugin *>(GetData()))->SetHyperlink(col, row, address, text);}
|
||||
|
||||
bool SheetPlugin::SetHyperlink(String cell, String address, String text) {return false;}
|
||||
bool OfficeSheet::SetHyperlink(String cell, String address, String text) {return (static_cast<SheetPlugin *>(GetData()))->SetHyperlink(cell, address, text);}
|
||||
|
||||
bool SheetPlugin::SetHyperlink(String address, String text) {return false;}
|
||||
bool OfficeSheet::SetHyperlink(String address, String text) {return (static_cast<SheetPlugin *>(GetData()))->SetHyperlink(address, text);}
|
||||
|
||||
bool SheetPlugin::Replace(Value search, Value replace) {return false;}
|
||||
bool OfficeSheet::Replace(Value search, Value replace) {return (static_cast<SheetPlugin *>(GetData()))->Replace(search, replace);}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue