merge to m67

This commit is contained in:
Mathias Bauer 2009-12-05 19:29:07 +01:00
commit e1593452b2
305 changed files with 5826 additions and 11163 deletions

View file

@ -152,8 +152,10 @@ public:
namespace ooo
{
namespace vba {
namespace excel {
class ScVbaCellRangeAccess; // Vba Helper class
}
}
}
class SC_DLLPUBLIC ScCellRangesBase : public com::sun::star::beans::XPropertySet,
@ -175,7 +177,7 @@ class SC_DLLPUBLIC ScCellRangesBase : public com::sun::star::beans::XPropertySet
{
friend class ScTabViewObj; // fuer select()
friend class ScTableSheetObj; // fuer createCursorByRange()
friend class ooo::vba::ScVbaCellRangeAccess;
friend class ooo::vba::excel::ScVbaCellRangeAccess;
private:
const SfxItemPropertySet* pPropSet;

View file

@ -662,7 +662,9 @@
//#define SID_OPENDLG_MODCHART (SC_MESSAGE_START + 58)
#define SID_OPENDLG_CONDFRMT (SC_MESSAGE_START + 59)
#define SID_OPENDLG_OPTSOLVER (SC_MESSAGE_START + 60)
//<!--Added by PengYunQuan for Validity Cell Range Picker
#define SID_VALIDITY_REFERENCE (SC_MESSAGE_START + 61)
//-->Added by PengYunQuan for Validity Cell Range Picker
#define SC_HINT_NAVIGATOR_UPDATEALL (SC_MESSAGE_START + 65)
// Funktionen ------------------------------------------------------------

View file

@ -55,6 +55,9 @@ class SfxStyleSheetBase;
class ScDPObject;
struct ScDPFuncData;
struct ScDPNumGroupInfo;
//<!--Added by PengYunQuan for Validity Cell Range Picker
class ScTabViewShell;
//-->Added by PengYunQuan for Validity Cell Range Picker
namespace com { namespace sun { namespace star { namespace sheet {
struct DataPilotFieldReference;
@ -459,8 +462,13 @@ public:
virtual SfxAbstractTabDialog * CreateScParagraphDlg( Window* pParent, const SfxItemSet* pAttr ,//add for ScParagraphDlg
int nId ) = 0;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//virtual SfxAbstractTabDialog * CreateScValidationDlg( Window* pParent, //add for ScValidationDlg
// const SfxItemSet* pArgSet,int nId ) = 0;
virtual SfxAbstractTabDialog * CreateScValidationDlg( Window* pParent, //add for ScValidationDlg
const SfxItemSet* pArgSet,int nId ) = 0;
const SfxItemSet* pArgSet,int nId, ScTabViewShell *pTabVwSh ) = 0;
//-->Modified by PengYunQuan for Validity Cell Range Picker
virtual SfxAbstractTabDialog * CreateScSortDlg( Window* pParent, //add for ScSortDlg
const SfxItemSet* pArgSet,int nId ) = 0;
// for tabpage

View file

@ -41,6 +41,12 @@
#include <unotools/options.hxx>
#include <tools/shl.hxx>
//<!--Added by PengYunQuan for Validity Cell Range Picker
#include <map>
#include <list>
#include <algorithm>
//-->Added by PengYunQuan for Validity Cell Range Picker
class KeyEvent;
class SdrModel;
@ -145,6 +151,9 @@ class ScModule: public SfxModule, public SfxListener, utl::ConfigurationListener
bool mbIsInSharedDocLoading;
bool mbIsInSharedDocSaving;
//<!--Added by PengYunQuan for Validity Cell Range Picker
std::map<USHORT, std::list<Window*> > m_mapRefWindow;
//-->Added by PengYunQuan for Validity Cell Range Picker
public:
SFX_DECL_INTERFACE(SCID_APP)
@ -254,7 +263,10 @@ SC_DLLPUBLIC void SetAppOptions ( const ScAppOptions& rO
ScFormEditData* GetFormEditData() { return pFormEditData; }
// Referenzeingabe:
void SetRefDialog( USHORT nId, BOOL bVis, SfxViewFrame* pViewFrm = NULL );
//<!--Added by PengYunQuan for Validity Cell Range Picker
//void SetRefDialog( USHORT nId, BOOL bVis, SfxViewFrame* pViewFrm = NULL );
SC_DLLPUBLIC void SetRefDialog( USHORT nId, BOOL bVis, SfxViewFrame* pViewFrm = NULL );
//-->Added by PengYunQuan for Validity Cell Range Picker
BOOL IsModalMode(SfxObjectShell* pDocSh = NULL);
BOOL IsFormulaMode();
BOOL IsRefDialogOpen();
@ -277,6 +289,14 @@ SC_DLLPUBLIC void SetAppOptions ( const ScAppOptions& rO
bool IsInSharedDocLoading() const { return mbIsInSharedDocLoading; }
void SetInSharedDocSaving( bool bNew ) { mbIsInSharedDocSaving = bNew; }
bool IsInSharedDocSaving() const { return mbIsInSharedDocSaving; }
//<!--Added by PengYunQuan for Validity Cell Range Picker
SC_DLLPUBLIC BOOL RegisterRefWindow( USHORT nSlotId, Window *pWnd );
SC_DLLPUBLIC BOOL UnregisterRefWindow( USHORT nSlotId, Window *pWnd );
SC_DLLPUBLIC BOOL IsAliveRefDlg( USHORT nSlotId, Window *pWnd );
SC_DLLPUBLIC Window * Find1RefWindow( USHORT nSlotId, Window *pWndAncestor );
SC_DLLPUBLIC Window * Find1RefWindow( Window *pWndAncestor );
//-->Added by PengYunQuan for Validity Cell Range Picker
};
#define SC_MOD() ( *(ScModule**) GetAppData(SHL_CALC) )

View file

@ -1,4 +1,4 @@
sc sc : filter l10n oovbaapi svx stoc BOOST:boost formula oox NULL
sc sc : filter l10n vbahelper oovbaapi svx uui stoc BOOST:boost formula oox NULL
sc sc usr1 - all sc_mkout NULL
sc sc\inc nmake - all sc_inc NULL
sc sc\prj get - all sc_prj NULL

View file

@ -52,6 +52,9 @@ interface CellSelection
SID_OPENDLG_FUNCTION [ ExecMethod = Execute; StateMethod = GetCellState; ]
SID_INS_FUNCTION [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
// no Exec/StateMethod needed, but SfxDispatcher complains if the slot is not included in the shell
SID_VALIDITY_REFERENCE []
// Datenbank-Operationen {
SID_SORT_ASCENDING [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]
SID_SORT_DESCENDING [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]

View file

@ -2779,6 +2779,33 @@ SfxVoidItem SolverDialog SID_OPENDLG_OPTSOLVER
GroupId = GID_OPTIONS;
]
//--------------------------------------------------------------------------
//<!--Added by PengYunQuan for Validity Cell Range Picker
SfxVoidItem ValidityReference SID_VALIDITY_REFERENCE
()
[
/* flags: */
AutoUpdate = FALSE,
Cachable = Cachable,
FastCall = FALSE,
HasCoreId = FALSE,
HasDialog = TRUE,
ReadOnlyDoc = TRUE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Synchron;
/* config: */
AccelConfig = TRUE,
MenuConfig = TRUE,
StatusBarConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_OPTIONS;
]
//-->Added by PengYunQuan for Validity Cell Range Picker
//--------------------------------------------------------------------------
SfxVoidItem GoDownToEndOfData SID_CURSORBLKDOWN
(SfxInt16Item By FN_PARAM_1,SfxBoolItem Sel FN_PARAM_2)

View file

@ -102,6 +102,10 @@
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
#include <basic/basmgr.hxx>
#include <cppuhelper/component_context.hxx>
#include <com/sun/star/container/XNameContainer.hpp>
#include <sfx2/app.hxx>
using namespace com::sun::star;
@ -248,16 +252,6 @@ void ImportExcel8::SheetProtection( void )
GetSheetProtectBuffer().ReadOptions( aIn, GetCurrScTab() );
}
bool lcl_hasVBAEnabled()
{
uno::Reference< beans::XPropertySet > xProps( ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY);
// test if vba service is present
uno::Reference< uno::XComponentContext > xCtx( xProps->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ))), uno::UNO_QUERY );
uno::Reference< uno::XInterface > xGlobals( xCtx->getValueByName( ::rtl::OUString::createFromAscii( "/singletons/ooo.vba.theGlobals") ), uno::UNO_QUERY );
return xGlobals.is();
}
void ImportExcel8::ReadBasic( void )
{
bHasBasic = TRUE;
@ -273,7 +267,7 @@ void ImportExcel8::ReadBasic( void )
if( bLoadCode || bLoadStrg )
{
SvxImportMSVBasic aBasicImport( *pShell, *xRootStrg, bLoadCode, bLoadStrg );
bool bAsComment = !bLoadExecutable || !lcl_hasVBAEnabled();
bool bAsComment = !bLoadExecutable;
aBasicImport.Import( EXC_STORAGE_VBA_PROJECT, EXC_STORAGE_VBA, bAsComment );
}
}

View file

@ -1181,7 +1181,7 @@ ScAccessibleEditLineTextData::ScAccessibleEditLineTextData(EditView* pEditView,
ScTextWnd* pTxtWnd = (ScTextWnd*)pWin;
if (pTxtWnd)
pTxtWnd->SetAccessibleTextData(this);
pTxtWnd->InsertAccessibleTextData( *this );
}
ScAccessibleEditLineTextData::~ScAccessibleEditLineTextData()
@ -1189,7 +1189,7 @@ ScAccessibleEditLineTextData::~ScAccessibleEditLineTextData()
ScTextWnd* pTxtWnd = (ScTextWnd*)mpWindow;
if (pTxtWnd)
pTxtWnd->SetAccessibleTextData(NULL);
pTxtWnd->RemoveAccessibleTextData( *this );
if (mbEditEngineCreated && mpEditEngine)
{
@ -1210,7 +1210,7 @@ void ScAccessibleEditLineTextData::Dispose()
ScTextWnd* pTxtWnd = (ScTextWnd*)mpWindow;
if (pTxtWnd)
pTxtWnd->SetAccessibleTextData(NULL);
pTxtWnd->RemoveAccessibleTextData( *this );
ResetEditMode();
mpWindow = NULL;

View file

@ -31,9 +31,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
//------------------------------------------------------------------
#include <algorithm>
#include "scitems.hxx"
#include <svx/eeitem.hxx>
@ -738,7 +736,6 @@ ScTextWnd::ScTextWnd( Window* pParent )
DragSourceHelper( this ),
pEditEngine ( NULL ),
pEditView ( NULL ),
pAccTextData ( NULL ),
bIsInsertMode( TRUE ),
bFormulaMode ( FALSE ),
bInputMode ( FALSE )
@ -774,8 +771,8 @@ __EXPORT ScTextWnd::~ScTextWnd()
{
delete pEditView;
delete pEditEngine;
if (pAccTextData)
pAccTextData->Dispose();
for( AccTextDataVector::reverse_iterator aIt = maAccTextDatas.rbegin(), aEnd = maAccTextDatas.rend(); aIt != aEnd; ++aIt )
(*aIt)->Dispose();
}
void __EXPORT ScTextWnd::Paint( const Rectangle& rRec )
@ -1112,8 +1109,8 @@ void ScTextWnd::StartEditEngine()
pEditEngine->SetModifyHdl(LINK(this, ScTextWnd, NotifyHdl));
if (pAccTextData)
pAccTextData->StartEdit();
if (!maAccTextDatas.empty())
maAccTextDatas.back()->StartEdit();
// as long as EditEngine and DrawText sometimes differ for CTL text,
// repaint now to have the EditEngine's version visible
@ -1154,8 +1151,8 @@ void ScTextWnd::StopEditEngine( BOOL bAll )
{
if (pEditView)
{
if (pAccTextData)
pAccTextData->EndEdit();
if (!maAccTextDatas.empty())
maAccTextDatas.back()->EndEdit();
ScModule* pScMod = SC_MOD();
@ -1259,8 +1256,8 @@ void ScTextWnd::SetTextString( const String& rNewString )
aString = rNewString;
if (pAccTextData)
pAccTextData->TextChanged();
if (!maAccTextDatas.empty())
maAccTextDatas.back()->TextChanged();
bInputMode = FALSE;
}
@ -1317,8 +1314,8 @@ void ScTextWnd::MakeDialogEditView()
if ( bIsRTL )
lcl_ModifyRTLVisArea( pEditView );
if (pAccTextData)
pAccTextData->StartEdit();
if (!maAccTextDatas.empty())
maAccTextDatas.back()->StartEdit();
}
void ScTextWnd::ImplInitSettings()
@ -1343,6 +1340,22 @@ void ScTextWnd::ImplInitSettings()
rtl::OUString(String(ScResId(STR_ACC_EDITLINE_DESCR))), EditLine);
}
void ScTextWnd::InsertAccessibleTextData( ScAccessibleEditLineTextData& rTextData )
{
OSL_ENSURE( ::std::find( maAccTextDatas.begin(), maAccTextDatas.end(), &rTextData ) == maAccTextDatas.end(),
"ScTextWnd::InsertAccessibleTextData - passed object already registered" );
maAccTextDatas.push_back( &rTextData );
}
void ScTextWnd::RemoveAccessibleTextData( ScAccessibleEditLineTextData& rTextData )
{
AccTextDataVector::iterator aEnd = maAccTextDatas.end();
AccTextDataVector::iterator aIt = ::std::find( maAccTextDatas.begin(), aEnd, &rTextData );
OSL_ENSURE( aIt != aEnd, "ScTextWnd::RemoveAccessibleTextData - passed object not registered" );
if( aIt != aEnd )
maAccTextDatas.erase( aIt );
}
// -----------------------------------------------------------------------
void ScTextWnd::DataChanged( const DataChangedEvent& rDCEvt )

View file

@ -63,7 +63,8 @@ EXCEPTIONSFILES= \
$(SLO)$/drwtrans.obj \
$(SLO)$/scmod2.obj \
$(SLO)$/scmod.obj \
$(SLO)$/client.obj
$(SLO)$/client.obj \
$(SLO)$/inputwin.obj
#LIB3TARGET=$(SLB)$/ysclib.lib
#LIB3OBJFILES=$(SLO)$/sclib.obj

View file

@ -328,6 +328,10 @@ void ScDLL::Init()
ScSpellDialogChildWindow ::RegisterChildWindow(FALSE, pMod);
::avmedia::MediaPlayer ::RegisterChildWindow(FALSE, pMod);
//<!--Added by PengYunQuan for Validity Cell Range Picker
ScValidityRefChildWin::RegisterChildWindow(FALSE, pMod);
//-->Added by PengYunQuan for Validity Cell Range Picker
// Edit-Engine-Felder, soweit nicht schon in OfficeApplication::Init
SvClassManager& rClassManager = SvxFieldItem::GetClassManager();

View file

@ -2219,4 +2219,82 @@ IMPL_LINK( ScModule, CalcFieldValueHdl, EditFieldInfo*, pInfo )
//<!--Added by PengYunQuan for Validity Cell Range Picker
BOOL ScModule::RegisterRefWindow( USHORT nSlotId, Window *pWnd )
{
std::list<Window*> & rlRefWindow = m_mapRefWindow[nSlotId];
if( std::find( rlRefWindow.begin(), rlRefWindow.end(), pWnd ) == rlRefWindow.end() )
{
rlRefWindow.push_back( pWnd );
return TRUE;
}
return FALSE;
}
BOOL ScModule::UnregisterRefWindow( USHORT nSlotId, Window *pWnd )
{
std::map<USHORT, std::list<Window*> >::iterator iSlot = m_mapRefWindow.find( nSlotId );
if( iSlot == m_mapRefWindow.end() )
return FALSE;
std::list<Window*> & rlRefWindow = iSlot->second;
std::list<Window*>::iterator i = std::find( rlRefWindow.begin(), rlRefWindow.end(), pWnd );
if( i == rlRefWindow.end() )
return FALSE;
rlRefWindow.erase( i );
if( !rlRefWindow.size() )
m_mapRefWindow.erase( nSlotId );
return TRUE;
}
BOOL ScModule::IsAliveRefDlg( USHORT nSlotId, Window *pWnd )
{
std::map<USHORT, std::list<Window*> >::iterator iSlot = m_mapRefWindow.find( nSlotId );
if( iSlot == m_mapRefWindow.end() )
return FALSE;
std::list<Window*> & rlRefWindow = iSlot->second;
return rlRefWindow.end() != std::find( rlRefWindow.begin(), rlRefWindow.end(), pWnd );
}
Window * ScModule::Find1RefWindow( USHORT nSlotId, Window *pWndAncestor )
{
std::map<USHORT, std::list<Window*> >::iterator iSlot = m_mapRefWindow.find( nSlotId );
if( iSlot == m_mapRefWindow.end() )
return FALSE;
std::list<Window*> & rlRefWindow = iSlot->second;
while( Window *pParent = pWndAncestor->GetParent() ) pWndAncestor = pParent;
for( std::list<Window*>::iterator i = rlRefWindow.begin(); i!=rlRefWindow.end(); i++ )
if ( pWndAncestor->IsWindowOrChild( *i, (*i)->IsSystemWindow() ) )
return *i;
return NULL;
}
Window * ScModule::Find1RefWindow( Window *pWndAncestor )
{
while( Window *pParent = pWndAncestor->GetParent() ) pWndAncestor = pParent;
for( std::map<USHORT, std::list<Window*> >::iterator i = m_mapRefWindow.begin();
i!=m_mapRefWindow.end(); i++ )
for( std::list<Window*>::iterator j = i->second.begin(); j!=i->second.end(); j++ )
if ( pWndAncestor->IsWindowOrChild( *j, (*j)->IsSystemWindow() ) )
return *j;
return NULL;
}
//<!--Added by PengYunQuan for Validity Cell Range Picker

View file

@ -1425,13 +1425,19 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScParagraphDlg( Windo
//add for ScValidationDlg begin
SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScValidationDlg( Window* pParent,
const SfxItemSet* pArgSet,int nId )
//<!--Modified by PengYunQuan for Validity Cell Range Picker
// const SfxItemSet* pArgSet,int nId )
const SfxItemSet* pArgSet,int nId, ScTabViewShell *pTabVwSh )
//-->Modified by PengYunQuan for Validity Cell Range Picke
{
SfxTabDialog* pDlg=NULL;
switch ( nId )
{
case TAB_DLG_VALIDATION :
pDlg = new ScValidationDlg( pParent, pArgSet );
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//pDlg = new ScValidationDlg( pParent, pArgSet );
pDlg = new ScValidationDlg( pParent, pArgSet, pTabVwSh );
//-->Modified by PengYunQuan for Validity Cell Range Picker
break;
default:
break;

View file

@ -546,7 +546,10 @@ public:
int nId );
virtual SfxAbstractTabDialog * CreateScValidationDlg( Window* pParent, //add for ScValidationDlg
const SfxItemSet* pArgSet,int nId );
//<!--Modified by PengYunQuan for Validity Cell Range Picker
// const SfxItemSet* pArgSet,int nId );
const SfxItemSet* pArgSet,int nId, ScTabViewShell *pTabVwSh );
//-->Modified by PengYunQuan for Validity Cell Range Picker
virtual SfxAbstractTabDialog * CreateScSortDlg( Window* pParent, //add for ScSortDlg
const SfxItemSet* pArgSet,int nId );

View file

@ -81,7 +81,8 @@ EXCEPTIONSFILES= \
$(SLO)$/csvtablebox.obj \
$(SLO)$/fieldwnd.obj \
$(SLO)$/pvlaydlg.obj \
$(SLO)$/dapidata.obj
$(SLO)$/dapidata.obj \
$(SLO)$/validate.obj
SRS1NAME=$(TARGET)
SRC1FILES = \

View file

@ -53,6 +53,12 @@
#include "validate.hxx"
#include "compiler.hxx"
#include "formula/opcode.hxx" //CHINA001
//<!--Added by PengYunQuan for Validity Cell Range Picker
#include "tabvwsh.hxx"
#include <sfx2/viewfrm.hxx>
#include <sfx2/childwin.hxx>
#include "reffact.hxx"
//-->Added by PengYunQuan for Validity Cell Range Picker
// ============================================================================
@ -66,8 +72,19 @@ static USHORT pValueRanges[] =
// ============================================================================
ScValidationDlg::ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet ) :
SfxTabDialog( pParent, ScResId( TAB_DLG_VALIDATION ), pArgSet )
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//ScValidationDlg::ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet ) :
// SfxTabDialog( pParent, ScResId( TAB_DLG_VALIDATION ), pArgSet )
ScValidationDlg::ScValidationDlg( Window* pParent,
const SfxItemSet* pArgSet,
ScTabViewShell *pTabViewSh,
SfxBindings *pB /*= NULL*/
) :
ScValidationDlgBase( pParent ? pParent : SFX_APP()->GetTopWindow(), TAB_DLG_VALIDATION, pArgSet, pB ),
m_bOwnRefHdlr( false ),
m_pTabVwSh( pTabViewSh ),
m_bRefInputting( false )
//-->Modified by PengYunQuan for Validity Cell Range Picker
{
AddTabPage( TP_VALIDATION_VALUES, ScTPValidationValue::Create, 0 );
AddTabPage( TP_VALIDATION_INPUTHELP, ScTPValidationHelp::Create, 0 );
@ -75,8 +92,100 @@ ScValidationDlg::ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet ) :
FreeResource();
}
//<!--Added by PengYunQuan for Validity Cell Range Picker
void ScTPValidationValue::SetReferenceHdl( const ScRange&rRange , ScDocument* pDoc )
{
if ( rRange.aStart != rRange.aEnd )
if ( ScValidationDlg *pValidationDlg = GetValidationDlg() )
if( m_pRefEdit )
pValidationDlg/*->GetRefHandler()*/->RefInputStart( m_pRefEdit );
if ( m_pRefEdit )
{
String aStr;
rRange.Format( aStr, SCR_ABS_3D, pDoc );
m_pRefEdit->SetRefString( aStr );
//m_pRefEdit->SetRefString( rRange.aStart != rRange.aEnd ? aStr : String::CreateFromAscii("=").Append( aStr ) );
}
}
void ScTPValidationValue:: SetActiveHdl()
{
if ( m_pRefEdit ) m_pRefEdit->GrabFocus();
if ( ScValidationDlg *pValidationDlg = GetValidationDlg() )
if( m_pRefEdit )
{
pValidationDlg/*->GetRefHandler()*/->RefInputDone();
}
}
void ScTPValidationValue::RefInputStartPreHdl( ScRefEdit* pEdit, ScRefButton* pButton )
{
if ( ScValidationDlg *pValidationDlg = GetValidationDlg() )
{
if( pEdit == m_pRefEdit )
{
if( Window *pPreWnd = pEdit==&maEdMax?&maFtMax:(pEdit==&maEdMin?&maFtMin:NULL) )
{
pPreWnd->SetParent( pValidationDlg );
pPreWnd->Hide();
}
m_pRefEdit->SetParent( pValidationDlg );
}
if( pButton == &m_btnRef )m_btnRef.SetParent( pValidationDlg );
}
}
void ScTPValidationValue::RefInputDonePreHdl()
{
if( m_pRefEdit && m_pRefEdit->GetParent()!= this )
{
if( Window *pPreWnd = m_pRefEdit==&maEdMax?&maFtMax:(m_pRefEdit==&maEdMin?&maFtMin:NULL) )
{
pPreWnd->SetParent( this );
pPreWnd->Show();
}
m_pRefEdit->SetParent( this );
m_btnRef.SetParent( m_pRefEdit ); //if Edit SetParent but button not, the tab order will be incorrect, need button to setparent to anthor window and restore parent later in order to restore the tab order
// aExample1.SetParent( m_pRefEdit ); // the aExample1's child order will affect acc key
}
if( m_btnRef.GetParent()!=this ) m_btnRef.SetParent( this );
// if( aExample1.GetParent()!=this ) aExample1.SetParent( this );
}
void ScTPValidationValue::RefInputDonePostHdl()
{
if( m_pRefEdit && !m_pRefEdit->HasFocus() )
m_pRefEdit->GrabFocus();
}
BOOL ScValidationDlg::Close()
{
if( m_bOwnRefHdlr )
if( SfxTabPage* pPage = GetTabPage( TP_VALIDATION_VALUES ) )
static_cast<ScTPValidationValue*>(pPage)->RemoveRefDlg();
return ScValidationDlgBase::Close();
}
//-->Added by PengYunQuan for Validity Cell Range Picker
ScValidationDlg::~ScValidationDlg()
{
//<!--Added by PengYunQuan for Validity Cell Range Picker
if( m_bOwnRefHdlr )
RemoveRefDlg( FALSE );
//-->Added by PengYunQuan for Validity Cell Range Picker
}
@ -236,7 +345,10 @@ ScTPValidationValue::ScTPValidationValue( Window* pParent, const SfxItemSet& rAr
maStrMax ( ScResId( SCSTR_VALID_MAXIMUM ) ),
maStrValue( ScResId( SCSTR_VALID_VALUE ) ),
maStrRange( ScResId( SCSTR_VALID_RANGE ) ),
maStrList ( ScResId( SCSTR_VALID_LIST ) )
maStrList ( ScResId( SCSTR_VALID_LIST ) ),
//<!--Added by PengYunQuan for Validity Cell Range Picker
m_btnRef( this, ScResId( RB_VALIDITY_REF ) )
//-->Added by PengYunQuan for Validity Cell Range Picker
{
Init();
FreeResource();
@ -246,6 +358,9 @@ ScTPValidationValue::ScTPValidationValue( Window* pParent, const SfxItemSet& rAr
String aListSep = ::GetScCompilerNativeSymbol( ocSep ); //CHINA001
DBG_ASSERT( aListSep.Len() == 1, "ScTPValidationValue::ScTPValidationValue - list separator error" );
mcFmlaSep = aListSep.Len() ? aListSep.GetChar( 0 ) : ';';
//<!--Added by PengYunQuan for Validity Cell Range Picker
m_btnRef.Hide();
//-->Added by PengYunQuan for Validity Cell Range Picker
}
ScTPValidationValue::~ScTPValidationValue()
@ -257,6 +372,13 @@ void ScTPValidationValue::Init()
maLbAllow.SetSelectHdl( LINK( this, ScTPValidationValue, SelectHdl ) );
maLbValue.SetSelectHdl( LINK( this, ScTPValidationValue, SelectHdl ) );
maCbShow.SetClickHdl( LINK( this, ScTPValidationValue, CheckHdl ) );
//<!--Added by PengYunQuan for Validity Cell Range Picker
maEdMin.SetGetFocusHdl( LINK( this, ScTPValidationValue, EditSetFocusHdl ) );
maEdMin.SetLoseFocusHdl( LINK( this, ScTPValidationValue, KillFocusHdl ) );
maEdMax.SetGetFocusHdl( LINK( this, ScTPValidationValue, EditSetFocusHdl ) );
m_btnRef.SetLoseFocusHdl( LINK( this, ScTPValidationValue, KillFocusHdl ) );
maEdMax.SetLoseFocusHdl( LINK( this, ScTPValidationValue, KillFocusHdl ) );
//-->Added by PengYunQuan for Validity Cell Range Picker
maLbAllow.SelectEntryPos( SC_VALIDDLG_ALLOW_ANY );
maLbValue.SelectEntryPos( SC_VALIDDLG_DATA_EQUAL );
@ -374,6 +496,133 @@ void ScTPValidationValue::SetSecondFormula( const String& rFmlaStr )
maEdMax.SetText( rFmlaStr );
}
//<!--Added by PengYunQuan for Validity Cell Range Picker
ScValidationDlg * ScTPValidationValue::GetValidationDlg()
{
if( Window *pParent = GetParent() )
do{
if ( dynamic_cast<ScValidationDlg*>( pParent ) )
return static_cast< ScValidationDlg * >( pParent );
}while ( NULL != ( pParent = pParent->GetParent() ) );
return NULL;
}
void ScTPValidationValue::SetupRefDlg()
{
if( ScValidationDlg *pValidationDlg = GetValidationDlg() )
if( pValidationDlg->SetupRefDlg() )
{
pValidationDlg->SetHandler( this );
pValidationDlg->SetSetRefHdl( (ScRefHandlerHelper::PFUNCSETREFHDLTYPE)( &ScTPValidationValue::SetReferenceHdl ) );
pValidationDlg->SetSetActHdl( (ScRefHandlerHelper::PCOMMONHDLTYPE)( &ScTPValidationValue::SetActiveHdl ) );
pValidationDlg->SetRefInputStartPreHdl( (ScRefHandlerHelper::PINPUTSTARTDLTYPE)( &ScTPValidationValue::RefInputStartPreHdl ) );
pValidationDlg->SetRefInputDonePreHdl( (ScRefHandlerHelper::PCOMMONHDLTYPE)( &ScTPValidationValue::RefInputDonePreHdl ) );
pValidationDlg->SetRefInputDonePostHdl( (ScRefHandlerHelper::PCOMMONHDLTYPE)( &ScTPValidationValue::RefInputDonePostHdl ) );
if ( maEdMax.IsVisible() ) { m_pRefEdit = &maEdMax; }
else if ( maEdMin.IsVisible() ) { m_pRefEdit = &maEdMin; }
if( m_pRefEdit && !m_pRefEdit->HasFocus() ) m_pRefEdit->GrabFocus();
if( m_pRefEdit ) m_pRefEdit->SetRefDialog( pValidationDlg );
m_btnRef.SetReferences( pValidationDlg, m_pRefEdit );
}
}
void ScTPValidationValue::RemoveRefDlg()
{
if( ScValidationDlg *pValidationDlg = GetValidationDlg() )
if( pValidationDlg->RemoveRefDlg() )
{
pValidationDlg->SetHandler( NULL );
pValidationDlg->SetSetRefHdl( NULL );
pValidationDlg->SetSetActHdl( NULL );
pValidationDlg->SetRefInputStartPreHdl( NULL );
pValidationDlg->SetRefInputDonePreHdl( NULL );
pValidationDlg->SetRefInputDonePostHdl( NULL );
if( m_pRefEdit ) m_pRefEdit->SetRefDialog( NULL );
m_pRefEdit = NULL;
m_btnRef.SetReferences( NULL, NULL );
#if ! defined( WNT ) && !defined( _MSC_VER )
TidyListBoxes();
#endif
}
}
void ScTPValidationValue::TidyListBoxes()
{
if ( Window *pWnd = GetChild( 0 ) )
{
bool bFindLst = false;
std::list<Window*> alstOrder;
do{
if( pWnd->GetParent() == this )
{
if ( !bFindLst )
{
try{
if( dynamic_cast<ListBox*>(pWnd)||dynamic_cast<ListBox*>(pWnd->GetWindow(WINDOW_CLIENT) ) )
bFindLst = true;
}
catch( ... )
{
if ( *(void**)pWnd == *(void**)&maLbValue )
bFindLst = true;
else if ( Window *pClient = pWnd->GetWindow( WINDOW_CLIENT ) )
if ( *(void**)pClient == *(void**)&maLbValue )
bFindLst = true;
}
}
if ( bFindLst )
alstOrder.push_back( pWnd->GetWindow( WINDOW_CLIENT ) );
}
}while( NULL != ( pWnd = pWnd->GetWindow( WINDOW_NEXT ) ) );
pWnd = GetChild(0);
while( std::find( alstOrder.begin(), alstOrder.end(), pWnd ) != alstOrder.end() && NULL != ( pWnd = pWnd->GetWindow( WINDOW_NEXT) ) );
if ( pWnd )
{
for ( std::list<Window*>::iterator i = alstOrder.begin(); i!=alstOrder.end(); i++ )
{
Window *pParent = (*i)->GetParent();
(*i)->SetParent( pWnd );
(*i)->SetParent( pParent );
}
}
}
}
IMPL_LINK( ScTPValidationValue, EditSetFocusHdl, Edit *, /*pEdit*/ )
{
USHORT nPos=maLbAllow.GetSelectEntryPos();
if ( nPos == SC_VALIDDLG_ALLOW_RANGE )
{
SetupRefDlg();
}
return 0;
}
IMPL_LINK( ScTPValidationValue, KillFocusHdl, Window *, pWnd )
{
if( pWnd == m_pRefEdit || pWnd == &m_btnRef )
if( ScValidationDlg *pValidationDlg = GetValidationDlg() )
if ( (pValidationDlg->IsActive() || pValidationDlg->IsChildFocus() ) && !pValidationDlg->IsRefInputting() )
if( ( !m_pRefEdit || !m_pRefEdit->HasFocus()) && !m_btnRef.HasFocus() )
{
RemoveRefDlg();
}
return 0;
}
//-->Added by PengYunQuan for Validity Cell Range Picker
// ----------------------------------------------------------------------------
@ -427,7 +676,9 @@ IMPL_LINK( ScTPValidationValue, SelectHdl, ListBox*, EMPTYARG )
maFtMax.Show( bShowMax );
maEdMax.Show( bShowMax );
maFtHint.Show( bRange );
//<!--Added by PengYunQuan for Validity Cell Range Picker
m_btnRef.Show( bRange );
//-->Added by PengYunQuan for Validity Cell Range Picker
return 0;
}
@ -660,3 +911,114 @@ IMPL_LINK( ScTPValidationError, ClickSearchHdl, PushButton*, EMPTYARG )
return( 0L );
}
//<!--Added by PengYunQuan for Validity Cell Range Picker
bool ScValidationDlg::EnterRefStatus()
{
ScTabViewShell *pTabViewShell = GetTabViewShell();
if( !pTabViewShell ) return false;
USHORT nId = SLOTID;
SfxViewFrame* pViewFrm = pTabViewShell->GetViewFrame();
SfxChildWindow* pWnd = pViewFrm->GetChildWindow( nId );
if ( pWnd && pWnd->GetWindow()!= this ) pWnd = NULL;
SC_MOD()->SetRefDialog( nId, pWnd ? FALSE : TRUE );
return true;
}
bool ScValidationDlg::LeaveRefStatus()
{
ScTabViewShell *pTabViewShell = GetTabViewShell();
if( !pTabViewShell ) return false;
USHORT nId = SLOTID;
SfxViewFrame* pViewFrm = pTabViewShell->GetViewFrame();
//SfxChildWindow* pWnd = pViewFrm->GetChildWindow( nId );
if ( pViewFrm->GetChildWindow( nId ) )
{
DoClose( nId );
}
return true;
}
bool ScValidationDlg::SetupRefDlg()
{
if ( m_bOwnRefHdlr ) return false;
if( EnterRefMode() )
{
SetModal( FALSE );
return /*SetChkShell( GetDocShell() ),*/ m_bOwnRefHdlr = true && EnterRefStatus();
}
return false;
}
bool ScValidationDlg::RemoveRefDlg( BOOL bRestoreModal /* = TRUE */ )
{
bool bVisLock = false;
bool bFreeWindowLock = false;
ScTabViewShell *pTabVwSh = GetTabViewShell();
if( !pTabVwSh ) return false;
if ( SfxChildWindow* pWnd = pTabVwSh->GetViewFrame()->GetChildWindow( SID_VALIDITY_REFERENCE ) )
{
bVisLock = static_cast<ScValidityRefChildWin*>(pWnd)->LockVisible( true );
bFreeWindowLock = static_cast<ScValidityRefChildWin*>(pWnd)->LockFreeWindow( true );
}
if ( !m_bOwnRefHdlr ) return false;
if( LeaveRefStatus() && LeaveRefMode() )
{
m_bOwnRefHdlr = false;
if( bRestoreModal )
SetModal( TRUE );
}
if ( SfxChildWindow* pWnd = pTabVwSh->GetViewFrame()->GetChildWindow( SID_VALIDITY_REFERENCE ) )
{
static_cast<ScValidityRefChildWin*>(pWnd)->LockVisible( bVisLock );
static_cast<ScValidityRefChildWin*>(pWnd)->LockFreeWindow( bFreeWindowLock );
}
return true;
}
//TYPEINIT1( ScTPValidationValue, SfxTabPage )
void ScTPValidationValue::ScRefButtonEx::Click()
{
if( ScTPValidationValue *pParent = dynamic_cast< ScTPValidationValue*>( GetParent() ) )
pParent->OnClick( this );
ScRefButton::Click();
}
void ScTPValidationValue::OnClick( Button *pBtn )
{
if( pBtn == &m_btnRef )
SetupRefDlg();
}
BOOL ScValidationDlg::IsChildFocus()
{
if ( const Window *pWin = Application::GetFocusWindow() )
while( NULL != ( pWin = pWin->GetParent() ) )
if( pWin == this )
return TRUE;
return FALSE;
}
bool ScValidationDlg::IsAlive()
{
return SC_MOD()->IsAliveRefDlg( SLOTID, this );
}
//-->Added by PengYunQuan for Validity Cell Range Picker

View file

@ -65,7 +65,9 @@ TabDialog TAB_DLG_VALIDATION
};
Text [ en-US ] = "Validity" ;
};
//<!--Added by PengYunQuan for Validity Cell Range Picker
#define OFFSET_X 30
//-->Added by PengYunQuan for Validity Cell Range Picker
TabPage TP_VALIDATION_VALUES
{
Hide = TRUE ;
@ -75,13 +77,19 @@ TabPage TP_VALIDATION_VALUES
FixedText FT_ALLOW
{
Pos = MAP_APPFONT ( 6 , 16 ) ;
Size = MAP_APPFONT ( 70 , 8 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Size = MAP_APPFONT ( 70 , 8 ) ;
Size = MAP_APPFONT ( 70 - OFFSET_X , 8 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Text [ en-US ] = "~Allow" ;
};
ListBox LB_ALLOW
{
Border = TRUE ;
Pos = MAP_APPFONT ( 80 , 14 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Pos = MAP_APPFONT ( 80 , 14 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 14 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 90 , 80 ) ;
TabStop = TRUE ;
DropDown = TRUE ;
@ -100,13 +108,19 @@ TabPage TP_VALIDATION_VALUES
FixedText FT_VALUE
{
Pos = MAP_APPFONT ( 6 , 58 ) ;
Size = MAP_APPFONT ( 70 , 8 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Size = MAP_APPFONT ( 70 , 8 ) ;
Size = MAP_APPFONT ( 70 - OFFSET_X , 8 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Text [ en-US ] = "~Data" ;
};
ListBox LB_VALUE
{
Border = TRUE ;
Pos = MAP_APPFONT ( 80 , 56 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Pos = MAP_APPFONT ( 80 , 56 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 56 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 90 , 90 ) ;
TabStop = TRUE ;
DropDown = TRUE ;
@ -126,54 +140,81 @@ TabPage TP_VALIDATION_VALUES
FixedText FT_MIN
{
Pos = MAP_APPFONT ( 6 , 76 ) ;
Size = MAP_APPFONT ( 70 , 8 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Size = MAP_APPFONT ( 70 , 8 ) ;
Size = MAP_APPFONT ( 70 - OFFSET_X , 8 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Text [ en-US ] = "~Minimum" ;
};
Edit EDT_MIN
{
Border = TRUE ;
Pos = MAP_APPFONT ( 80 , 74 ) ;
Size = MAP_APPFONT ( 174 , 12 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Pos = MAP_APPFONT ( 80 , 74 ) ;
//Size = MAP_APPFONT ( 174 , 12 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 74 ) ;
Size = MAP_APPFONT ( 90 , 12 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
TabStop = TRUE ;
};
MultiLineEdit EDT_LIST
{
Border = TRUE ;
Pos = MAP_APPFONT ( 80 , 74 ) ;
Size = MAP_APPFONT ( 174 , 105 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Pos = MAP_APPFONT ( 80 , 74 ) ;
//Size = MAP_APPFONT ( 174 , 105 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 74 ) ;
Size = MAP_APPFONT ( 174 + OFFSET_X , 105 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
VScroll = TRUE ;
IgnoreTab = TRUE ;
};
FixedText FT_MAX
{
Pos = MAP_APPFONT ( 6 , 92 ) ;
Size = MAP_APPFONT ( 70 , 8 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Size = MAP_APPFONT ( 70 , 8 ) ;
Size = MAP_APPFONT ( 70 - OFFSET_X , 8 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Text [ en-US ] = "Ma~ximum" ;
};
Edit EDT_MAX
{
Border = TRUE ;
Pos = MAP_APPFONT ( 80 , 90 ) ;
Size = MAP_APPFONT ( 174 , 12 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Pos = MAP_APPFONT ( 80 , 90 ) ;
//Size = MAP_APPFONT ( 174 , 12 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 90 ) ;
Size = MAP_APPFONT ( 90 , 12 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
TabStop = TRUE ;
};
CheckBox TSB_ALLOW_BLANKS
{
Pos = MAP_APPFONT ( 80 , 30 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Pos = MAP_APPFONT ( 80 , 30 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 30 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 174 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Allow ~blank cells" ;
};
CheckBox CB_SHOWLIST
{
Pos = MAP_APPFONT ( 80 , 44 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Pos = MAP_APPFONT ( 80 , 44 ) ;
Pos = MAP_APPFONT ( 80 - OFFSET_X , 44 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 174 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Show selection ~list" ;
};
CheckBox CB_SORTLIST
{
Pos = MAP_APPFONT ( 90 , 58 ) ;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Pos = MAP_APPFONT ( 90 , 58 ) ;
Pos = MAP_APPFONT ( 90 - OFFSET_X , 58 ) ;
//-->Modified by PengYunQuan for Validity Cell Range Picker
Size = MAP_APPFONT ( 164 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Sor~t entries ascending" ;
@ -185,6 +226,15 @@ TabPage TP_VALIDATION_VALUES
WordBreak = TRUE ;
Text [ en-US ] = "A valid source can only consist of a contiguous selection of rows and columns, or a formula that results in an area or array.";
};
//<!--Added by PengYunQuan for Validity Cell Range Picker
ImageButton RB_VALIDITY_REF
{
Pos = MAP_APPFONT ( 142 , 73 ) ;
Size = MAP_APPFONT ( 13 , 14 ) ;
TabStop = TRUE ;
QuickHelpText [ en-US ] = "Shrink" ;
};
//-->Added by PengYunQuan for Validity Cell Range Picker
};
TabPage TP_VALIDATION_INPUTHELP

View file

@ -127,7 +127,8 @@
#include <rtl/logfile.hxx>
#include <comphelper/processfactory.hxx>
#include <basic/sbstar.hxx>
#include <basic/basmgr.hxx>
using namespace com::sun::star;
// STATIC DATA -----------------------------------------------------------
@ -357,6 +358,26 @@ void ScDocShell::AfterXMLLoading(sal_Bool bRet)
}
else
aDocument.SetInsertingFromOtherDoc( FALSE );
// add vba globals ( if they are availabl )
uno::Any aGlobs;
uno::Sequence< uno::Any > aArgs(1);
aArgs[ 0 ] <<= GetModel();
aGlobs <<= ::comphelper::getProcessServiceFactory()->createInstanceWithArguments( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.excel.Globals" ) ), aArgs );
GetBasicManager()->SetGlobalUNOConstant( "VBAGlobals", aGlobs );
// Fake ThisComponent being setup by Activate ( which is a view
// related thing ),
// a) if another document is opened then in theory ThisComponent
// will be reset as before,
// b) when this document is 'really' Activated then ThisComponent
// again will be set as before
// The only wrinkle seems if this document is loaded 'InVisible'
// but.. I don't see that this is possible from the vba API
// I could be wrong though
// There may be implications setting the current component
// too early :-/ so I will just manually set the Basic Variables
BasicManager* pAppMgr = SFX_APP()->GetBasicManager();
if ( pAppMgr )
pAppMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[ 0 ] );
aDocument.SetImportingXML( FALSE );
aDocument.EnableExecuteLink( true );
@ -2558,3 +2579,16 @@ void ScDocShellModificator::SetDocumentModified()
pDoc->BroadcastUno( SfxSimpleHint( SFX_HINT_DATACHANGED ) );
}
}
//<!--Added by PengYunQuan for Validity Cell Range Picker
sal_Bool ScDocShell::AcceptStateUpdate() const
{
if( SfxObjectShell::AcceptStateUpdate() )
return sal_True;
if( SC_MOD()->Find1RefWindow( SFX_APP()->GetTopWindow() ) )
return sal_True;
return sal_False;
}
//-->Added by PengYunQuan for Validity Cell Range Picker

View file

@ -53,7 +53,10 @@
#include <svx/unolingu.hxx>
#include <rtl/logfile.hxx>
#include <comphelper/processfactory.hxx>
#include <basic/sbstar.hxx>
#include <basic/basmgr.hxx>
#include <sfx2/app.hxx>
// INCLUDE ---------------------------------------------------------------
/*
@ -102,6 +105,25 @@ BOOL __EXPORT ScDocShell::InitNew( const uno::Reference < embed::XStorage >& xSt
InitItems();
CalcOutputFactor();
uno::Any aGlobs;
uno::Sequence< uno::Any > aArgs(1);
aArgs[ 0 ] <<= GetModel();
aGlobs <<= ::comphelper::getProcessServiceFactory()->createInstanceWithArguments( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.excel.Globals" ) ), aArgs );
GetBasicManager()->SetGlobalUNOConstant( "VBAGlobals", aGlobs );
// Fake ThisComponent being setup by Activate ( which is a view
// related thing ),
// a) if another document is opened then in theory ThisComponent
// will be reset as before,
// b) when this document is 'really' Activated then ThisComponent
// again will be set as before
// The only wrinkle seems if this document is loaded 'InVisible'
// but.. I don't see that this is possible from the vba API
// I could be wrong though
// There may be implications setting the current component
// too early :-/ so I will just manually set the Basic Variables
BasicManager* pAppMgr = SFX_APP()->GetBasicManager();
if ( pAppMgr )
pAppMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[ 0 ] );
return bRet;
}

View file

@ -42,19 +42,28 @@
#endif
#include <sfx2/basedlgs.hxx>
#include "address.hxx"
#include "cell.hxx"
#include "compiler.hxx"
#include "formula/funcutl.hxx"
#include "IAnyRefDialog.hxx"
#include "scresid.hxx"
#include <memory>
class SfxObjectShell;
class ScRange;
class ScDocument;
class ScTabViewShell;
class ScAnyRefDlg;
class ScFormulaCell;
class ScCompiler;
//The class of ScAnyRefDlg is rewritten by PengYunQuan for Validity Cell Range Picker
//class ScAnyRefDlg;
class ScRefHandler;
class ScRangeList;
//<!--Added by PengYunQuan for Validity Cell Range Picker
class SfxShell;
#include "scmod.hxx"
typedef formula::RefButton ScRefButton;
typedef formula::RefEdit ScRefEdit;
//-->Added by PengYunQuan for Validity Cell Range Picker
class ScFormulaReferenceHelper
{
IAnyRefDialog* m_pDlg;
@ -104,12 +113,28 @@ public:
void ViewShellChanged( ScTabViewShell* pScViewShell );
static void enableInput(BOOL _bInput);
//<!--Added by PengYunQuan for Validity Cell Range Picker
protected:
Window * GetWindow(){ return m_pWindow; }
public:
bool CanInputStart( const ScRefEdit *pEdit ){ return !!pEdit; }
bool CanInputDone( BOOL bForced ){ return pRefEdit && (bForced || !pRefBtn); }
//<!--Added by PengYunQuan for Validity Cell Range Picker
};
//============================================================================
class ScAnyRefDlg : public SfxModelessDialog,
//The class of ScAnyRefDlg is rewritten by PengYunQuan for Validity Cell Range Picker
class SC_DLLPUBLIC ScRefHandler : //public SfxModelessDialog,
public IAnyRefDialog
{
//<!--Added by PengYunQuan for Validity Cell Range Picker
Window & m_rWindow;
bool m_bInRefMode;
public:
operator Window *(){ return &m_rWindow; }
Window * operator ->() { return static_cast<Window *>(*this); }
template<class,bool> friend class ScRefHdlrImplBase;
//-->Added by PengYunQuan for Validity Cell Range Picker
friend class formula::RefButton;
friend class formula::RefEdit;
@ -130,7 +155,8 @@ protected:
void SetDispatcherLock( BOOL bLock );
virtual long PreNotify( NotifyEvent& rNEvt );
//Overwrite TWindow will implemented by ScRefHdlrImplBase
//virtual long PreNotify( NotifyEvent& rNEvt );
virtual void RefInputStart( formula::RefEdit* pEdit, formula::RefButton* pButton = NULL );
virtual void RefInputDone( BOOL bForced = FALSE );
@ -140,9 +166,9 @@ protected:
bool ParseWithNames( ScRangeList& rRanges, const String& rStr, ScDocument* pDoc );
public:
ScAnyRefDlg( SfxBindings* pB, SfxChildWindow* pCW,
Window* pParent, USHORT nResId);
virtual ~ScAnyRefDlg();
ScRefHandler( Window &rWindow, SfxBindings* pB/*, SfxChildWindow* pCW,
Window* pParent, USHORT nResId*/, bool bBindRef );
virtual ~ScRefHandler();
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) = 0;
virtual void AddRefEntry();
@ -159,15 +185,100 @@ public:
virtual void ViewShellChanged( ScTabViewShell* pScViewShell );
void SwitchToDocument();
SfxBindings& GetBindings();
//SfxBindings& GetBindings();
virtual void SetActive() = 0;
// virtual BOOL Close();
virtual void StateChanged( StateChangedType nStateChange );
//Overwrite TWindow will implemented by ScRefHdlrImplBase
//virtual void StateChanged( StateChangedType nStateChange );
//<!--Added by PengYunQuan for Validity Cell Range Picker
public:
bool EnterRefMode();
bool LeaveRefMode();
inline bool CanInputStart( const ScRefEdit *pEdit );
inline bool CanInputDone( BOOL bForced );
//-->Added by PengYunQuan for Validity Cell Range Picker
};
//============================================================================
//<!--Added by PengYunQuan for Validity Cell Range Picker
template< class TWindow, bool bBindRef = true >
class ScRefHdlrImplBase:public TWindow, public ScRefHandler
{
public:
//Overwrite TWindow
virtual long PreNotify( NotifyEvent& rNEvt );
virtual void StateChanged( StateChangedType nStateChange );
private:
template<class TBindings, class TChildWindow, class TParentWindow, class TResId>
ScRefHdlrImplBase( TBindings* pB, TChildWindow* pCW,
TParentWindow* pParent, TResId nResId);
template<class TParentWindow, class TResId, class TArg>
ScRefHdlrImplBase( TParentWindow* pParent, TResId nResId, const TArg &rArg, SfxBindings *pB = NULL );
~ScRefHdlrImplBase();
template<class, class, bool> friend struct ScRefHdlrImpl;
};
template<class TWindow, bool bBindRef>
template<class TBindings, class TChildWindow, class TParentWindow, class TResId>
ScRefHdlrImplBase<TWindow, bBindRef>::ScRefHdlrImplBase( TBindings* pB, TChildWindow* pCW,
TParentWindow* pParent, TResId nResId):TWindow(pB, pCW, pParent, ScResId(static_cast<USHORT>( nResId ) ) ), ScRefHandler( *static_cast<TWindow*>(this), pB, bBindRef ){}
template<class TWindow, bool bBindRef >
template<class TParentWindow, class TResId, class TArg>
ScRefHdlrImplBase<TWindow,bBindRef>::ScRefHdlrImplBase( TParentWindow* pParent, TResId nResIdP, const TArg &rArg, SfxBindings *pB /*= NULL*/ )
:TWindow( pParent, ScResId(static_cast<USHORT>( nResIdP )), rArg ), ScRefHandler( *static_cast<TWindow*>(this), pB, bBindRef ){}
template<class TWindow, bool bBindRef >
ScRefHdlrImplBase<TWindow,bBindRef>::~ScRefHdlrImplBase(){}
//============================================================================
template<class TDerived, class TBase, bool bBindRef = true>
struct ScRefHdlrImpl: ScRefHdlrImplBase<TBase, bBindRef >
{
enum { UNKNOWN_SLOTID = 0U, SLOTID = UNKNOWN_SLOTID };
template<class T1, class T2, class T3, class T4>
ScRefHdlrImpl( const T1 & rt1, const T2 & rt2, const T3 & rt3, const T4 & rt4 ):ScRefHdlrImplBase<TBase, bBindRef >(rt1, rt2, rt3, rt4 )
{
SC_MOD()->RegisterRefWindow( static_cast<USHORT>( static_cast<TDerived*>(this)->SLOTID ), this );
}
~ScRefHdlrImpl()
{
SC_MOD()->UnregisterRefWindow( static_cast<USHORT>( static_cast<TDerived*>(this)->SLOTID ), this );
}
};
//============================================================================
struct ScAnyRefDlg : ::ScRefHdlrImpl< ScAnyRefDlg, SfxModelessDialog>
{
template<class T1, class T2, class T3, class T4>
ScAnyRefDlg( const T1 & rt1, const T2 & rt2, const T3 & rt3, const T4 & rt4 ):ScRefHdlrImpl< ScAnyRefDlg, SfxModelessDialog>(rt1, rt2, rt3, rt4){}
};
//============================================================================
inline bool ScRefHandler::CanInputStart( const ScRefEdit *pEdit )
{
return m_aHelper.CanInputStart( pEdit );
}
inline bool ScRefHandler::CanInputDone( BOOL bForced )
{
return m_aHelper.CanInputDone( bForced );
}
template <> SC_DLLPUBLIC void ScRefHdlrImplBase<SfxModelessDialog,true>::StateChanged( StateChangedType nStateChange );
template <> SC_DLLPUBLIC long ScRefHdlrImplBase<SfxModelessDialog,true>::PreNotify( NotifyEvent& rNEvt );
#include <sfx2/tabdlg.hxx>
template <> SC_DLLPUBLIC void ScRefHdlrImplBase<SfxTabDialog,false>::StateChanged( StateChangedType nStateChange );
template <> SC_DLLPUBLIC long ScRefHdlrImplBase<SfxTabDialog,false>::PreNotify( NotifyEvent& rNEvt );
//<!--Added by PengYunQuan for Validity Cell Range Picker
#endif // SC_ANYREFDG_HXX

View file

@ -418,7 +418,9 @@ public:
const ScOptSolverSave* GetSolverSaveData() const { return pSolverSaveData; } // may be null
void SetSolverSaveData( const ScOptSolverSave& rData );
//<!--Added by PengYunQuan for Validity Cell Range Picker
sal_Bool AcceptStateUpdate() const;
//-->Added by PengYunQuan for Validity Cell Range Picker
ScSheetSaveData* GetSheetSaveData();
};

View file

@ -31,15 +31,11 @@
#ifndef SC_INPUTWIN_HXX
#define SC_INPUTWIN_HXX
#ifndef _TOOLBOX_HXX //autogen
#include <vector>
#include <vcl/toolbox.hxx>
#endif
#include <sfx2/childwin.hxx>
#include <svl/lstner.hxx>
#ifndef _COMBOBOX_HXX //autogen
#include <vcl/combobox.hxx>
#endif
#include <vcl/window.hxx>
#include <svtools/transfer.hxx>
@ -77,7 +73,8 @@ public:
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
void SetAccessibleTextData(ScAccessibleEditLineTextData* pTextData) {pAccTextData = pTextData;}
void InsertAccessibleTextData( ScAccessibleEditLineTextData& rTextData );
void RemoveAccessibleTextData( ScAccessibleEditLineTextData& rTextData );
DECL_LINK( NotifyHdl, EENotify* );
@ -102,11 +99,13 @@ private:
void UpdateAutoCorrFlag();
private:
typedef ::std::vector< ScAccessibleEditLineTextData* > AccTextDataVector;
String aString;
Font aTextFont;
ScEditEngineDefaulter* pEditEngine; // erst bei Bedarf angelegt
EditView* pEditView;
ScAccessibleEditLineTextData* pAccTextData;
AccTextDataVector maAccTextDatas; // #i105267# text datas may be cloned, remember all copies
BOOL bIsRTL;
BOOL bIsInsertMode;
BOOL bFormulaMode;

View file

@ -102,6 +102,22 @@ class ScSimpleRefDlgWrapper: public SfxChildWindow
void StartRefInput();
};
//<!--Added by PengYunQuan for Validity Cell Range Picker
class SC_DLLPUBLIC ScValidityRefChildWin : public SfxChildWindow
{
bool m_bVisibleLock:1;
bool m_bFreeWindowLock:1;
Window * m_pSavedWndParent;
public:
ScValidityRefChildWin( Window*, USHORT, SfxBindings*, SfxChildWinInfo* );
SFX_DECL_CHILDWINDOW(ScValidityRefChildWin);
~ScValidityRefChildWin();
bool LockVisible( bool bLock ){ bool bVis = m_bVisibleLock; m_bVisibleLock = bLock; return bVis; }
bool LockFreeWindow( bool bLock ){ bool bFreeWindow = m_bFreeWindowLock; m_bFreeWindowLock = bLock; return bFreeWindow; }
void Hide(){ if( !m_bVisibleLock) SfxChildWindow::Hide(); }
void Show( USHORT nFlags ){ if( !m_bVisibleLock ) SfxChildWindow::Show( nFlags ); }
};
//-->Added by PengYunQuan for Validity Cell Range Picker
//==================================================================

View file

@ -292,7 +292,7 @@ public:
void TabChanged();
void SetZoom( const Fraction& rNewX, const Fraction& rNewY, BOOL bAll );
void RefreshZoom();
SC_DLLPUBLIC void RefreshZoom();
void SetPagebreakMode( BOOL bSet );
void UpdateLayerLocks();
@ -390,7 +390,10 @@ public:
void SetNewStartIfMarking();
void SetTabNo( SCTAB nTab, BOOL bNew = FALSE, BOOL bExtendSelection = FALSE );
//<!--Added by PengYunQuan for Validity Cell Range Picker
//void SetTabNo( SCTAB nTab, BOOL bNew = FALSE, BOOL bExtendSelection = FALSE );
SC_DLLPUBLIC void SetTabNo( SCTAB nTab, BOOL bNew = FALSE, BOOL bExtendSelection = FALSE );
//-->Added by PengYunQuan for Validity Cell Range Picker
void SelectNextTab( short nDir, BOOL bExtendSelection = FALSE );
void ActivateView( BOOL bActivate, BOOL bFirst );

View file

@ -61,6 +61,9 @@
#define CB_SORTLIST 28
#define EDT_LIST 29
#define FT_SOURCEHINT 30
//<!--Added by PengYunQuan for Validity Cell Range Picker
#define RB_VALIDITY_REF 88
//-->Added by PengYunQuan for Validity Cell Range Picker
/* Position indexes for "Allow" list box.
They do not map directly to ScValidationMode and can safely be modified to

View file

@ -36,23 +36,164 @@
#include <vcl/fixed.hxx>
#include <vcl/lstbox.hxx>
#include <svtools/svmedit.hxx>
//<!--Added by PengYunQuan for Validity Cell Range Picker
#include "anyrefdg.hxx"
//-->Added by PengYunQuan for Validity Cell Range Picker
// ============================================================================
/** The "Validity" tab dialog. */
class ScValidationDlg : public SfxTabDialog
//<!--Added by PengYunQuan for Validity Cell Range Picker
struct ScRefHandlerCaller{
virtual ~ScRefHandlerCaller(){}
};
class ScRefHandlerHelper
{
protected:
ScRefHandlerCaller *m_pHandler;
void (ScRefHandlerCaller::*m_pSetReferenceHdl)( const ScRange& , ScDocument* );
void (ScRefHandlerCaller::*m_pSetActiveHdl)();
void (ScRefHandlerCaller::*m_pRefInputStartPreHdl)( ScRefEdit* pEdit, ScRefButton* pButton );
void (ScRefHandlerCaller::*m_pRefInputStartPostHdl)( ScRefEdit* pEdit, ScRefButton* pButton );
void (ScRefHandlerCaller::*m_pRefInputDonePreHdl)();
void (ScRefHandlerCaller::*m_pRefInputDonePostHdl)();
public:
explicit ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet );
typedef void (ScRefHandlerCaller::*PFUNCSETREFHDLTYPE)( const ScRange& , ScDocument* );
typedef void (ScRefHandlerCaller::*PCOMMONHDLTYPE)();
typedef void (ScRefHandlerCaller::*PINPUTSTARTDLTYPE)( ScRefEdit* pEdit, ScRefButton* pButton );
PFUNCSETREFHDLTYPE SetSetRefHdl( PFUNCSETREFHDLTYPE pNewHdl )
{
PFUNCSETREFHDLTYPE pOldHdl = m_pSetReferenceHdl;
m_pSetReferenceHdl = pNewHdl;
return pOldHdl;
}
PCOMMONHDLTYPE SetSetActHdl( PCOMMONHDLTYPE pNewHdl )
{
PCOMMONHDLTYPE pOldHdl = m_pSetActiveHdl;
m_pSetActiveHdl = pNewHdl;
return pOldHdl;
}
ScRefHandlerCaller *SetHandler( ScRefHandlerCaller *pNewHandler )
{
ScRefHandlerCaller *pOldHandler = m_pHandler;
m_pHandler = pNewHandler;
return pOldHandler;
}
void SetRefInputStartPreHdl( PINPUTSTARTDLTYPE pNewHdl ){ m_pRefInputStartPreHdl = pNewHdl; }
void SetRefInputDonePostHdl( void (ScRefHandlerCaller::*pNewHdl)() ){ m_pRefInputDonePostHdl = pNewHdl; }
void SetRefInputStartPostHdl( PINPUTSTARTDLTYPE pNewHdl ){ m_pRefInputStartPostHdl = pNewHdl; }
void SetRefInputDonePreHdl( void (ScRefHandlerCaller::*pNewHdl)() ){ m_pRefInputDonePreHdl = pNewHdl; }
ScRefHandlerHelper():m_pHandler(NULL), m_pSetReferenceHdl( NULL ), m_pSetActiveHdl(NULL), m_pRefInputStartPreHdl( NULL ), m_pRefInputStartPostHdl( NULL ), m_pRefInputDonePreHdl( NULL ), m_pRefInputDonePostHdl( NULL ){}
};
//-->Added by PengYunQuan for Validity Cell Range Picker
/** The "Validity" tab dialog. */
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//class ScValidationDlg : public SfxTabDialog
class ScValidationDlg :public ScRefHdlrImpl<ScValidationDlg, SfxTabDialog, false>, public ScRefHandlerHelper
//-->Modified by PengYunQuan for Validity Cell Range Picker
{
//<!--Added by PengYunQuan for Validity Cell Range Picker
typedef ScRefHdlrImpl<ScValidationDlg, SfxTabDialog, false> ScValidationDlgBase;
//Start_Moddify by liliang 03/26/2008 SODC_13677_2
DECL_LINK( OkHdl, Button * );
//End_Moddify by liliang 03/26/2008 SODC_13677_2
bool m_bOwnRefHdlr:1;
ScTabViewShell *m_pTabVwSh;
bool m_bRefInputting:1;
bool EnterRefStatus();
bool LeaveRefStatus();
//-->Added by PengYunQuan for Validity Cell Range Picker
public:
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//explicit ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet );
explicit ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet, ScTabViewShell * pTabViewSh, SfxBindings *pB = NULL );
//-->Modified by PengYunQuan for Validity Cell Range Picker
//<!--Added by PengYunQuan for Validity Cell Range Picker
virtual ~ScValidationDlg();
inline static ScValidationDlg * Find1AliveObject( Window *pAncestor );
bool IsAlive();
inline ScTabViewShell * GetTabViewShell();
bool SetupRefDlg();
bool RemoveRefDlg( BOOL bRestoreModal = TRUE );
virtual void SetModal( BOOL bModal ){ ScValidationDlgBase::SetModalInputMode( bModal ); }
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc )
{
if ( m_pHandler && m_pSetReferenceHdl )
(m_pHandler->*m_pSetReferenceHdl)( rRef, pDoc );
}
virtual void SetActive()
{
if ( m_pHandler && m_pSetActiveHdl )
(m_pHandler->*m_pSetActiveHdl)();
}
void CloseRefDialog()
{
DBG_ASSERT( false, "should not execute here!!!when the edit kill focus, should remove refhandler.\r\n" );
if ( IsInExecute() )
EndDialog( FALSE );
else if ( GetStyle() & WB_CLOSEABLE )
Close();
}
bool IsRefInputting(){ return m_bRefInputting; }
virtual void RefInputStart( ScRefEdit* pEdit, ScRefButton* pButton = NULL )
{
if( !CanInputStart( pEdit ) )
return;
if ( m_pHandler && m_pRefInputStartPreHdl )
(m_pHandler->*m_pRefInputStartPreHdl)( pEdit, pButton );
m_bRefInputting = true;
ScValidationDlgBase::RefInputStart( pEdit, pButton );
if ( m_pHandler && m_pRefInputStartPostHdl )
(m_pHandler->*m_pRefInputStartPostHdl)( pEdit, pButton );
}
virtual void RefInputDone( BOOL bForced = FALSE )
{
if( !CanInputDone( bForced ) )
return;
if ( m_pHandler && m_pRefInputDonePreHdl )
(m_pHandler->*m_pRefInputDonePreHdl)();
ScValidationDlgBase::RefInputDone( bForced );
m_bRefInputting = false;
if ( m_pHandler && m_pRefInputDonePostHdl )
(m_pHandler->*m_pRefInputDonePostHdl)();
}
BOOL IsChildFocus();
enum { SLOTID = SID_VALIDITY_REFERENCE };
BOOL Close();
//-->Added by PengYunQuan for Validity Cell Range Picker
};
// ============================================================================
/** The tab page "Criteria" from the Validation dialog. */
class ScTPValidationValue : public SfxTabPage
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//class ScTPValidationValue : public SfxTabPage
class ScTPValidationValue : public ScRefHandlerCaller, public SfxTabPage
//-->Modified by PengYunQuan for Validity Cell Range Picker
{
public:
explicit ScTPValidationValue( Window* pParent, const SfxItemSet& rArgSet );
@ -84,10 +225,16 @@ private:
FixedText maFtValue;
ListBox maLbValue;
FixedText maFtMin;
Edit maEdMin;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Edit maEdMin;
ScRefEdit maEdMin;
//-->Modified by PengYunQuan for Validity Cell Range Picker
MultiLineEdit maEdList; /// Entries for explicit list
FixedText maFtMax;
Edit maEdMax;
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//Edit maEdMax;
ScRefEdit maEdMax;
//-->Modified by PengYunQuan for Validity Cell Range Picker
FixedText maFtHint; /// Hint text for cell range validity.
String maStrMin;
@ -96,6 +243,33 @@ private:
String maStrRange;
String maStrList;
sal_Unicode mcFmlaSep; /// List separator in formulas.
//<!--Added by PengYunQuan for Validity Cell Range Picker
DECL_LINK( EditSetFocusHdl, Edit *);
DECL_LINK( KillFocusHdl, Window *);
void OnClick( Button *pBtn );
ScRefEdit *m_pRefEdit;
class ScRefButtonEx:public ::ScRefButton
{
void Click();
public:
ScRefButtonEx( Window* pParent, const ResId& rResId, ScRefEdit* pEdit = NULL, ScRefHandler *pRefHdlr = NULL ): ::ScRefButton( pParent, rResId, pEdit, pRefHdlr ){}
}m_btnRef;
friend class ScRefButtonEx;
void SetReferenceHdl( const ScRange& , ScDocument* );
void SetActiveHdl();
void RefInputStartPreHdl( ScRefEdit* pEdit, ScRefButton* pButton );
void RefInputDonePreHdl();
void RefInputDonePostHdl();
ScValidationDlg * GetValidationDlg();
//TYPEINFO();
void TidyListBoxes();
public:
USHORT GetAllowEntryPos();
String GetMinText();
void SetupRefDlg();
void RemoveRefDlg();
//-->Added by PengYunQuan for Validity Cell Range Picker
};
@ -161,6 +335,16 @@ public:
virtual void Reset ( const SfxItemSet& rArgSet );
};
//<!--Added by PengYunQuan for Validity Cell Range Picker
inline ScTabViewShell *ScValidationDlg::GetTabViewShell()
{
return m_pTabVwSh;
}
inline ScValidationDlg * ScValidationDlg::Find1AliveObject( Window *pAncestor )
{
return static_cast<ScValidationDlg *>( SC_MOD()->Find1RefWindow( SLOTID, pAncestor ) );
}
//-->Added by PengYunQuan for Validity Cell Range Picker
#endif // SC_VALIDATE_HXX

View file

@ -225,6 +225,7 @@ private:
SC_DLLPRIVATE void CalcPPT();
SC_DLLPRIVATE void CreateTabData( SCTAB nNewTab );
SC_DLLPRIVATE void CreateTabData( std::vector< SCTAB >& rvTabs );
SC_DLLPRIVATE void CreateSelectedTabData();
public:
@ -311,6 +312,8 @@ public:
void SetPagebreakMode( BOOL bSet );
void SetZoomType( SvxZoomType eNew, BOOL bAll );
void SetZoomType( SvxZoomType eNew, std::vector< SCTAB >& tabs );
void SetZoom( const Fraction& rNewX, const Fraction& rNewY, std::vector< SCTAB >& tabs );
void SetZoom( const Fraction& rNewX, const Fraction& rNewY, BOOL bAll );
void RefreshZoom();

View file

@ -377,7 +377,10 @@ IMPL_LINK( ScFormulaReferenceHelper, AccelSelectHdl, Accelerator *, pSelAccel )
//----------------------------------------------------------------------------
void ScFormulaReferenceHelper::RefInputDone( BOOL bForced )
{
if (pRefEdit && (bForced || !pRefBtn))
//<!--Modified by PengYunQuan for Validity Cell Range Picker
//if (pRefEdit && (bForced || !pRefBtn))
if ( CanInputDone( bForced ) )//if (pRefEdit && (bForced || !pRefBtn))
//-->Modified by PengYunQuan for Validity Cell Range Picker
{
if (bAccInserted) // Accelerator wieder abschalten
{
@ -677,23 +680,33 @@ void lcl_HideAllReferences()
}
//============================================================================
// class ScAnyRefDlg
//The class of ScAnyRefDlg is rewritten by PengYunQuan for Validity Cell Range Picker
// class ScRefHandler
//----------------------------------------------------------------------------
ScAnyRefDlg::ScAnyRefDlg( SfxBindings* pB, SfxChildWindow* pCW,
Window* pParent, USHORT nResId)
: SfxModelessDialog ( pB, pCW, pParent, ScResId( nResId ) ),
ScRefHandler::ScRefHandler( Window &rWindow, SfxBindings* pB/*, SfxChildWindow* pCW,
Window* pParent, USHORT nResId*/, bool bBindRef )
: //SfxModelessDialog ( pB, pCW, pParent, ScResId( nResId ) ),
m_rWindow( rWindow ),
m_bInRefMode( false ),
m_aHelper(this,pB),
pMyBindings( pB ),
pActiveWin(NULL)
{
m_aHelper.SetWindow(this);
if(GetHelpId()==0) //Hack, da im SfxModelessDialog die HelpId
SetHelpId(GetUniqueId()); //fuer einen ModelessDialog entfernt und
m_aHelper.SetWindow(/*this*/&m_rWindow);
if(m_rWindow.GetHelpId()==0) //Hack, da im SfxModelessDialog die HelpId
m_rWindow.SetHelpId(m_rWindow.GetUniqueId()); //fuer einen ModelessDialog entfernt und
//in eine UniqueId gewandelt wird, machen
//wir das an dieser Stelle rueckgaengig.
aTimer.SetTimeout(200);
aTimer.SetTimeoutHdl(LINK( this, ScAnyRefDlg, UpdateFocusHdl));
aTimer.SetTimeoutHdl(LINK( this, ScRefHandler, UpdateFocusHdl));
if( bBindRef ) EnterRefMode();
}
bool ScRefHandler::EnterRefMode()
{
if( m_bInRefMode ) return false;
SC_MOD()->InputEnterHandler();
// ScTabViewShell* pScViewShell = ScTabViewShell::GetActiveViewShell();
@ -740,15 +753,25 @@ ScAnyRefDlg::ScAnyRefDlg( SfxBindings* pB, SfxChildWindow* pCW,
m_aHelper.SetDispatcherLock( TRUE );
//@Test
//SFX_APPWINDOW->Disable(TRUE); //@BugID 54702
return m_bInRefMode = true;
}
//----------------------------------------------------------------------------
ScAnyRefDlg::~ScAnyRefDlg()
ScRefHandler::~ScRefHandler()
{
LeaveRefMode();
}
bool ScRefHandler::LeaveRefMode()
{
if( !m_bInRefMode ) return false;
lcl_HideAllReferences();
SetModalInputMode(FALSE);
if( Dialog *pDlg = dynamic_cast<Dialog*>( static_cast<Window*>(*this) ) )
pDlg->SetModalInputMode(FALSE);
SetDispatcherLock( FALSE ); //! here and in DoClose ?
ScTabViewShell* pScViewShell = ScTabViewShell::GetActiveViewShell();
@ -757,20 +780,23 @@ ScAnyRefDlg::~ScAnyRefDlg()
//SFX_APPWINDOW->Enable(TRUE,TRUE);
lcl_InvalidateWindows();
m_bInRefMode = false;
return true;
}
//----------------------------------------------------------------------------
SfxBindings& ScAnyRefDlg::GetBindings()
{
//! SfxModelessDialog should allow access to pBindings pointer
return *pMyBindings;
}
//SfxBindings& ScRefHandler::GetBindings()
//{
// //! SfxModelessDialog should allow access to pBindings pointer
//
// return *pMyBindings;
//}
//----------------------------------------------------------------------------
void ScAnyRefDlg::SwitchToDocument()
void ScRefHandler::SwitchToDocument()
{
ScTabViewShell* pCurrent = ScTabViewShell::GetActiveViewShell();
if (pCurrent)
@ -800,7 +826,7 @@ void ScAnyRefDlg::SwitchToDocument()
//----------------------------------------------------------------------------
BOOL ScAnyRefDlg::IsDocAllowed(SfxObjectShell* pDocSh) const // pDocSh may be 0
BOOL ScRefHandler::IsDocAllowed(SfxObjectShell* pDocSh) const // pDocSh may be 0
{
// default: allow only same document (overridden in function dialog)
String aCmpName;
@ -813,41 +839,41 @@ BOOL ScAnyRefDlg::IsDocAllowed(SfxObjectShell* pDocSh) const // pDocSh may be
//----------------------------------------------------------------------------
BOOL __EXPORT ScAnyRefDlg::IsRefInputMode() const
BOOL __EXPORT ScRefHandler::IsRefInputMode() const
{
return IsVisible(); // nur wer sichtbar ist kann auch Referenzen bekommen
return m_rWindow.IsVisible(); // nur wer sichtbar ist kann auch Referenzen bekommen
}
//----------------------------------------------------------------------------
BOOL __EXPORT ScAnyRefDlg::DoClose( USHORT nId )
BOOL __EXPORT ScRefHandler::DoClose( USHORT nId )
{
m_aHelper.DoClose(nId);
return TRUE;
}
void ScAnyRefDlg::SetDispatcherLock( BOOL bLock )
void ScRefHandler::SetDispatcherLock( BOOL bLock )
{
m_aHelper.SetDispatcherLock( bLock );
}
//----------------------------------------------------------------------------
void ScAnyRefDlg::ViewShellChanged(ScTabViewShell* pScViewShell )
void ScRefHandler::ViewShellChanged(ScTabViewShell* pScViewShell )
{
m_aHelper.ViewShellChanged(pScViewShell);
}
//----------------------------------------------------------------------------
void ScAnyRefDlg::AddRefEntry()
void ScRefHandler::AddRefEntry()
{
// wenn nicht ueberladen, gibt es keine Mehrfach-Referenzen
}
//----------------------------------------------------------------------------
BOOL __EXPORT ScAnyRefDlg::IsTableLocked() const
BOOL __EXPORT ScRefHandler::IsTableLocked() const
{
// per Default kann bei Referenzeingabe auch die Tabelle umgeschaltet werden
@ -861,48 +887,99 @@ BOOL __EXPORT ScAnyRefDlg::IsTableLocked() const
//
//----------------------------------------------------------------------------
void ScAnyRefDlg::RefInputStart( formula::RefEdit* pEdit, formula::RefButton* pButton )
void ScRefHandler::RefInputStart( formula::RefEdit* pEdit, formula::RefButton* pButton )
{
m_aHelper.RefInputStart( pEdit, pButton );
}
void ScAnyRefDlg::ToggleCollapsed( formula::RefEdit* pEdit, formula::RefButton* pButton )
void ScRefHandler::ToggleCollapsed( formula::RefEdit* pEdit, formula::RefButton* pButton )
{
m_aHelper.ToggleCollapsed( pEdit, pButton );
}
long ScAnyRefDlg::PreNotify( NotifyEvent& rNEvt )
{
USHORT nSwitch=rNEvt.GetType();
if(nSwitch==EVENT_GETFOCUS)
{
pActiveWin=rNEvt.GetWindow();
}
return SfxModelessDialog::PreNotify(rNEvt);
//The two following function is commentted out by PengYunQuan for Validity Cell Range Picker
//long ScAnyRefDlg::PreNotify( NotifyEvent& rNEvt )
//{
// USHORT nSwitch=rNEvt.GetType();
// if(nSwitch==EVENT_GETFOCUS)
// {
// pActiveWin=rNEvt.GetWindow();
// }
// return SfxModelessDialog::PreNotify(rNEvt);
//}
//
//void ScAnyRefDlg::StateChanged( StateChangedType nStateChange )
//{
// SfxModelessDialog::StateChanged( nStateChange );
//
// if(nStateChange == STATE_CHANGE_VISIBLE)
// {
// if(IsVisible())
// {
// m_aHelper.enableInput( FALSE );
// m_aHelper.EnableSpreadsheets();
// m_aHelper.SetDispatcherLock( TRUE );
// aTimer.Start();
// }
// else
// {
// m_aHelper.enableInput( TRUE );
// m_aHelper.SetDispatcherLock( FALSE ); //! here and in DoClose ?
// }
// }
//}
#if defined( _MSC_VER )
#define INTRODUCE_TEMPLATE
#else
#define INTRODUCE_TEMPLATE template <>
#endif
#define IMPL_TWINDOW_PRENOTIFY( TWindow,bBindRef ) \
INTRODUCE_TEMPLATE long ScRefHdlrImplBase<TWindow,bBindRef>::PreNotify( NotifyEvent& rNEvt )\
{\
if( bBindRef || m_bInRefMode )\
{\
USHORT nSwitch=rNEvt.GetType();\
if(nSwitch==EVENT_GETFOCUS)\
{\
pActiveWin=rNEvt.GetWindow();\
}\
}\
return TWindow::PreNotify(rNEvt);\
}
void ScAnyRefDlg::StateChanged( StateChangedType nStateChange )
{
SfxModelessDialog::StateChanged( nStateChange );
if(nStateChange == STATE_CHANGE_VISIBLE)
{
if(IsVisible())
{
m_aHelper.enableInput( FALSE );
m_aHelper.EnableSpreadsheets();
m_aHelper.SetDispatcherLock( TRUE );
aTimer.Start();
}
else
{
m_aHelper.enableInput( TRUE );
m_aHelper.SetDispatcherLock( FALSE ); //! here and in DoClose ?
}
}
#define IMPL_TWINDOW_STATECHANGED( TWindow,bBindRef ) \
INTRODUCE_TEMPLATE void ScRefHdlrImplBase<TWindow,bBindRef>::StateChanged( StateChangedType nStateChange )\
{\
TWindow::StateChanged( nStateChange );\
\
if( !bBindRef && !m_bInRefMode ) return;\
\
if(nStateChange == STATE_CHANGE_VISIBLE)\
{\
if(m_rWindow.IsVisible())\
{\
m_aHelper.enableInput( FALSE );\
m_aHelper.EnableSpreadsheets();\
m_aHelper.SetDispatcherLock( TRUE );\
aTimer.Start();\
}\
else\
{\
m_aHelper.enableInput( TRUE );\
m_aHelper.SetDispatcherLock( FALSE ); /*//! here and in DoClose ?*/\
}\
}\
}
IMPL_LINK( ScAnyRefDlg, UpdateFocusHdl, Timer*, EMPTYARG )
IMPL_TWINDOW_PRENOTIFY( SfxModelessDialog, true )
IMPL_TWINDOW_PRENOTIFY( SfxTabDialog, false )
IMPL_TWINDOW_STATECHANGED( SfxModelessDialog, true )
IMPL_TWINDOW_STATECHANGED( SfxTabDialog, false )
IMPL_LINK( ScRefHandler, UpdateFocusHdl, Timer*, EMPTYARG )
{
if (pActiveWin)
{
@ -911,27 +988,27 @@ IMPL_LINK( ScAnyRefDlg, UpdateFocusHdl, Timer*, EMPTYARG )
return 0;
}
// -----------------------------------------------------------------------------
bool ScAnyRefDlg::ParseWithNames( ScRangeList& rRanges, const String& rStr, ScDocument* pDoc )
bool ScRefHandler::ParseWithNames( ScRangeList& rRanges, const String& rStr, ScDocument* pDoc )
{
return m_aHelper.ParseWithNames( rRanges, rStr, pDoc );
}
// -----------------------------------------------------------------------------
void ScAnyRefDlg::HideReference( BOOL bDoneRefMode )
void ScRefHandler::HideReference( BOOL bDoneRefMode )
{
m_aHelper.HideReference( bDoneRefMode );
}
// -----------------------------------------------------------------------------
void ScAnyRefDlg::ShowReference( const XubString& rStr )
void ScRefHandler::ShowReference( const XubString& rStr )
{
m_aHelper.ShowReference( rStr );
}
// -----------------------------------------------------------------------------
void ScAnyRefDlg::ReleaseFocus( formula::RefEdit* pEdit, formula::RefButton* pButton )
void ScRefHandler::ReleaseFocus( formula::RefEdit* pEdit, formula::RefButton* pButton )
{
m_aHelper.ReleaseFocus( pEdit,pButton );
}
//----------------------------------------------------------------------------
void ScAnyRefDlg::RefInputDone( BOOL bForced )
void ScRefHandler::RefInputDone( BOOL bForced )
{
m_aHelper.RefInputDone( bForced );
}

View file

@ -244,7 +244,8 @@ ScModelObj::~ScModelObj()
uno::Reference< uno::XAggregation> ScModelObj::GetFormatter()
{
if ( !xNumberAgg.is() )
// pDocShell may be NULL if this is the base of a ScDocOptionsObj
if ( !xNumberAgg.is() && pDocShell )
{
// setDelegator veraendert den RefCount, darum eine Referenz selber halten
// (direkt am m_refCount, um sich beim release nicht selbst zu loeschen)

View file

@ -0,0 +1,222 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: vbahelper.cxx,v $
* $Revision: 1.5.32.1 $
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#include <docuno.hxx>
#include "excelvbahelper.hxx"
#include "tabvwsh.hxx"
#include "transobj.hxx"
#include "scmod.hxx"
#include "cellsuno.hxx"
#include <comphelper/processfactory.hxx>
using namespace ::com::sun::star;
using namespace ::ooo::vba;
namespace ooo
{
namespace vba
{
namespace excel
{
void implSetZoom( const uno::Reference< frame::XModel >& xModel, sal_Int16 nZoom, std::vector< SCTAB >& nTabs )
{
ScTabViewShell* pViewSh = excel::getBestViewShell( xModel );
Fraction aFract( nZoom, 100 );
pViewSh->GetViewData()->SetZoom( aFract, aFract, nTabs );
pViewSh->RefreshZoom();
}
bool isInPrintPreview( SfxViewFrame* pView )
{
sal_uInt16 nViewNo = SID_VIEWSHELL1 - SID_VIEWSHELL0;
if ( pView->GetObjectShell()->GetFactory().GetViewFactoryCount() >
nViewNo && !pView->GetObjectShell()->IsInPlaceActive() )
{
SfxViewFactory &rViewFactory =
pView->GetObjectShell()->GetFactory().GetViewFactory(nViewNo);
if ( pView->GetCurViewId() == rViewFactory.GetOrdinal() )
return true;
}
return false;
}
const ::rtl::OUString REPLACE_CELLS_WARNING( RTL_CONSTASCII_USTRINGPARAM( "ReplaceCellsWarning"));
class PasteCellsWarningReseter
{
private:
bool bInitialWarningState;
static uno::Reference< beans::XPropertySet > getGlobalSheetSettings() throw ( uno::RuntimeException )
{
static uno::Reference< beans::XPropertySet > xTmpProps( ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
static uno::Reference<uno::XComponentContext > xContext( xTmpProps->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ))), uno::UNO_QUERY_THROW );
static uno::Reference<lang::XMultiComponentFactory > xServiceManager(
xContext->getServiceManager(), uno::UNO_QUERY_THROW );
static uno::Reference< beans::XPropertySet > xProps( xServiceManager->createInstanceWithContext( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sheet.GlobalSheetSettings" ) ) ,xContext ), uno::UNO_QUERY_THROW );
return xProps;
}
bool getReplaceCellsWarning() throw ( uno::RuntimeException )
{
sal_Bool res = sal_False;
getGlobalSheetSettings()->getPropertyValue( REPLACE_CELLS_WARNING ) >>= res;
return ( res == sal_True );
}
void setReplaceCellsWarning( bool bState ) throw ( uno::RuntimeException )
{
getGlobalSheetSettings()->setPropertyValue( REPLACE_CELLS_WARNING, uno::makeAny( bState ) );
}
public:
PasteCellsWarningReseter() throw ( uno::RuntimeException )
{
bInitialWarningState = getReplaceCellsWarning();
if ( bInitialWarningState )
setReplaceCellsWarning( false );
}
~PasteCellsWarningReseter()
{
if ( bInitialWarningState )
{
// don't allow dtor to throw
try
{
setReplaceCellsWarning( true );
}
catch ( uno::Exception& /*e*/ ){}
}
}
};
void
implnPaste( const uno::Reference< frame::XModel>& xModel )
{
PasteCellsWarningReseter resetWarningBox;
ScTabViewShell* pViewShell = getBestViewShell( xModel );
if ( pViewShell )
{
pViewShell->PasteFromSystem();
pViewShell->CellContentChanged();
}
}
void
implnCopy( const uno::Reference< frame::XModel>& xModel )
{
ScTabViewShell* pViewShell = getBestViewShell( xModel );
if ( pViewShell )
pViewShell->CopyToClip(NULL,false,false,true);
}
void
implnCut( const uno::Reference< frame::XModel>& xModel )
{
ScTabViewShell* pViewShell = getBestViewShell( xModel );
if ( pViewShell )
pViewShell->CutToClip( NULL, TRUE );
}
void implnPasteSpecial( const uno::Reference< frame::XModel>& xModel, USHORT nFlags,USHORT nFunction,sal_Bool bSkipEmpty, sal_Bool bTranspose)
{
PasteCellsWarningReseter resetWarningBox;
sal_Bool bAsLink(sal_False), bOtherDoc(sal_False);
InsCellCmd eMoveMode = INS_NONE;
ScTabViewShell* pTabViewShell = getBestViewShell( xModel );
if ( pTabViewShell )
{
ScViewData* pView = pTabViewShell->GetViewData();
Window* pWin = ( pView != NULL ) ? pView->GetActiveWin() : NULL;
if ( pView && pWin )
{
if ( bAsLink && bOtherDoc )
pTabViewShell->PasteFromSystem(0);//SOT_FORMATSTR_ID_LINK
else
{
ScTransferObj* pOwnClip = ScTransferObj::GetOwnClipboard( pWin );
ScDocument* pDoc = NULL;
if ( pOwnClip )
pDoc = pOwnClip->GetDocument();
pTabViewShell->PasteFromClip( nFlags, pDoc,
nFunction, bSkipEmpty, bTranspose, bAsLink,
eMoveMode, IDF_NONE, TRUE );
pTabViewShell->CellContentChanged();
}
}
}
}
ScDocShell*
getDocShell( const css::uno::Reference< css::frame::XModel>& xModel )
{
uno::Reference< uno::XInterface > xIf( xModel, uno::UNO_QUERY_THROW );
ScModelObj* pModel = dynamic_cast< ScModelObj* >( xIf.get() );
ScDocShell* pDocShell = NULL;
if ( pModel )
pDocShell = (ScDocShell*)pModel->GetEmbeddedObject();
return pDocShell;
}
ScTabViewShell*
getBestViewShell( const css::uno::Reference< css::frame::XModel>& xModel )
{
ScDocShell* pDocShell = getDocShell( xModel );
if ( pDocShell )
return pDocShell->GetBestViewShell();
return NULL;
}
ScTabViewShell*
getCurrentBestViewShell( const uno::Reference< uno::XComponentContext >& xContext )
{
uno::Reference< frame::XModel > xModel = getCurrentExcelDoc( xContext );
return getBestViewShell( xModel );
}
SfxViewFrame*
getViewFrame( const uno::Reference< frame::XModel >& xModel )
{
ScTabViewShell* pViewShell = getBestViewShell( xModel );
if ( pViewShell )
return pViewShell->GetViewFrame();
return NULL;
}
SfxItemSet*
ScVbaCellRangeAccess::GetDataSet( ScCellRangeObj* pRangeObj )
{
SfxItemSet* pDataSet = pRangeObj ? pRangeObj->GetCurrentDataSet( true ) : NULL ;
return pDataSet;
}
} //excel
} //vba
} //ooo

View file

@ -0,0 +1,62 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: vbahelper.hxx,v $
* $Revision: 1.5.32.1 $
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef SC_EXCEL_VBA_HELPER_HXX
#define SC_EXCEL_VBA_HELPER_HXX
#include<vbahelper/vbahelper.hxx>
#include <docsh.hxx>
class ScCellRangeObj;
namespace ooo
{
namespace vba
{
namespace excel
{
// nTabs empty means apply zoom to all sheets
void implSetZoom( const css::uno::Reference< css::frame::XModel >& xModel, sal_Int16 nZoom, std::vector< SCTAB >& nTabs );
void implnCopy( const css::uno::Reference< css::frame::XModel>& xModel );
void implnPaste ( const css::uno::Reference< css::frame::XModel>& xModel );
void implnCut( const css::uno::Reference< css::frame::XModel>& xModel );
void implnPasteSpecial( const css::uno::Reference< css::frame::XModel>& xModel, sal_uInt16 nFlags,sal_uInt16 nFunction,sal_Bool bSkipEmpty, sal_Bool bTranspose);
ScTabViewShell* getBestViewShell( const css::uno::Reference< css::frame::XModel>& xModel ) ;
ScDocShell* getDocShell( const css::uno::Reference< css::frame::XModel>& xModel ) ;
ScTabViewShell* getCurrentBestViewShell( const css::uno::Reference< css::uno::XComponentContext >& xContext );
SfxViewFrame* getViewFrame( const css::uno::Reference< css::frame::XModel >& xModel );
class ScVbaCellRangeAccess
{
public:
static SfxItemSet* GetDataSet( ScCellRangeObj* pRangeObj );
};
}
}
}
#endif

View file

@ -32,107 +32,25 @@
namespace comphelper {
namespace service_decl {
namespace detail {
namespace css = ::com::sun::star;
template <typename ImplT>
class OwnServiceImpl
: public ImplT,
private ::boost::noncopyable
{
typedef ImplT BaseT;
public:
OwnServiceImpl(
ServiceDecl const& rServiceDecl,
css::uno::Sequence<css::uno::Any> const& args,
css::uno::Reference<css::uno::XComponentContext> const& xContext )
:BaseT(args, xContext), m_rServiceDecl(rServiceDecl) {}
OwnServiceImpl(
ServiceDecl const& rServiceDecl,
css::uno::Reference<css::uno::XComponentContext> const& xContext )
: BaseT(xContext), m_rServiceDecl(rServiceDecl) {}
// XServiceInfo
virtual ::rtl::OUString SAL_CALL getImplementationName()
throw (css::uno::RuntimeException) {
return m_rServiceDecl.getImplementationName();
}
virtual sal_Bool SAL_CALL supportsService( ::rtl::OUString const& name )
throw (css::uno::RuntimeException) {
return m_rServiceDecl.supportsService(name);
}
virtual css::uno::Sequence< ::rtl::OUString>
SAL_CALL getSupportedServiceNames() throw (css::uno::RuntimeException) {
return m_rServiceDecl.getSupportedServiceNames();
}
private:
ServiceDecl const& m_rServiceDecl;
};
template <typename ImplT, typename WithArgsT>
struct OwnCreateFunc;
template <typename ImplT>
struct OwnCreateFunc<ImplT, with_args<false> > {
explicit OwnCreateFunc( )
{}
css::uno::Reference<css::uno::XInterface>
operator()( ServiceDecl const& rServiceDecl,
css::uno::Sequence<css::uno::Any> const&,
css::uno::Reference<css::uno::XComponentContext>
const& xContext ) const
{
return css::uno::Reference< ooo::vba::XHelperInterface >(new OwnServiceImpl<ImplT>( rServiceDecl, xContext ));
}
};
template <typename ImplT>
struct OwnCreateFunc<ImplT, with_args<true> > {
explicit OwnCreateFunc( )
{}
css::uno::Reference<css::uno::XInterface>
operator()( ServiceDecl const& rServiceDecl,
css::uno::Sequence<css::uno::Any> const& args,
css::uno::Reference<css::uno::XComponentContext>
const& xContext ) const
{
css::uno::Reference< ooo::vba::XHelperInterface > xHelp(
new OwnServiceImpl<ImplT>( rServiceDecl, args, xContext ) );
css::uno::Reference< css::uno::XInterface > xIf( xHelp, css::uno::UNO_QUERY ) ;
return xIf;
}
};
} // namespace detail
/** Defines a service implementation class.
@tpl ImplT_ service implementation class
@WithArgsT whether the implementation class ctor expects arguments
(uno::Sequence<uno::Any>, uno::Reference<uno::XComponentContext>)
or just (uno::Reference<uno::XComponentContext>)
*/
template <typename ImplT_, typename WithArgsT = with_args<false> >
struct vba_service_class_ {
typedef ImplT_ ImplT;
typedef detail::OwnServiceImpl<ImplT_ > ServiceImplT;
detail::CreateFuncF const m_createFunc;
struct vba_service_class_ : public serviceimpl_base< detail::OwnServiceImpl<ImplT_>, WithArgsT >
{
typedef serviceimpl_base< detail::OwnServiceImpl<ImplT_>, WithArgsT > baseT;
/** Default ctor. Implementation class without args, expecting
component context as single argument.
*/
vba_service_class_() : m_createFunc(
detail::OwnCreateFunc<ImplT, WithArgsT>() ) {}
vba_service_class_() : baseT() {}
template <typename PostProcessFuncT>
/** Ctor to pass a post processing function/functor.
@tpl PostProcessDefaultT let your compiler deduce this
@param postProcessFunc function/functor that gets the yet unacquired
ImplT_ pointer returning a
uno::Reference<uno::XInterface>
*/
explicit vba_service_class_( PostProcessFuncT const& postProcessFunc ) : baseT( postProcessFunc ) {}
};
} // namespace service_decl
} // namespace comphelper

View file

@ -64,7 +64,7 @@ SLOFILES= \
$(SLO)$/vbaworksheet.obj \
$(SLO)$/vbaoutline.obj \
$(SLO)$/vbafont.obj\
$(SLO)$/vbahelper.obj\
$(SLO)$/excelvbahelper.obj\
$(SLO)$/vbainterior.obj\
$(SLO)$/vbawsfunction.obj\
$(SLO)$/vbawindow.obj\
@ -81,28 +81,11 @@ SLOFILES= \
$(SLO)$/vbapalette.obj \
$(SLO)$/vbaborders.obj \
$(SLO)$/vbacharacters.obj \
$(SLO)$/vbacombobox.obj \
$(SLO)$/vbavalidation.obj \
$(SLO)$/vbacontrol.obj \
$(SLO)$/vbacontrols.obj \
$(SLO)$/vbaoleobject.obj \
$(SLO)$/vbaoleobjects.obj \
$(SLO)$/vbabutton.obj \
$(SLO)$/vbalabel.obj \
$(SLO)$/vbatextbox.obj \
$(SLO)$/vbatextboxshape.obj \
$(SLO)$/vbaradiobutton.obj \
$(SLO)$/vbalistbox.obj \
$(SLO)$/vbalistcontrolhelper.obj \
$(SLO)$/vbapropvalue.obj \
$(SLO)$/vbapane.obj \
$(SLO)$/vbashape.obj \
$(SLO)$/vbacolorformat.obj \
$(SLO)$/vbashapes.obj \
$(SLO)$/vbalineformat.obj \
$(SLO)$/vbafillformat.obj \
$(SLO)$/vbapictureformat.obj \
$(SLO)$/vbashaperange.obj \
$(SLO)$/vbatextframe.obj \
$(SLO)$/vbacharttitle.obj \
$(SLO)$/vbacharts.obj \
@ -116,24 +99,10 @@ SLOFILES= \
$(SLO)$/vbastyle.obj \
$(SLO)$/vbastyles.obj \
$(SLO)$/vbaassistant.obj \
$(SLO)$/vbauserform.obj \
$(SLO)$/vbacheckbox.obj \
$(SLO)$/vbatogglebutton.obj \
$(SLO)$/vbaframe.obj \
$(SLO)$/vbascrollbar.obj \
$(SLO)$/vbaprogressbar.obj \
$(SLO)$/vbamultipage.obj \
$(SLO)$/vbapages.obj \
$(SLO)$/vbacommandbarcontrol.obj \
$(SLO)$/vbacommandbarcontrols.obj \
$(SLO)$/vbacommandbar.obj \
$(SLO)$/vbacommandbars.obj \
$(SLO)$/vbahyperlink.obj \
$(SLO)$/vbapagesetup.obj \
$(SLO)$/vbapagebreak.obj \
$(SLO)$/vbapagebreaks.obj \
$(SLO)$/vbaspinbutton.obj \
$(SLO)$/vbaimage.obj \
$(SLO)$/service.obj
.ENDIF
# --- Targets ------------------------------------------------------

View file

@ -61,11 +61,15 @@ namespace globals
{
extern sdecl::ServiceDecl const serviceDecl;
}
namespace userform
namespace hyperlink
{
extern sdecl::ServiceDecl const serviceDecl;
}
namespace hyperlink
namespace application
{
extern sdecl::ServiceDecl const serviceDecl;
}
namespace textframe
{
extern sdecl::ServiceDecl const serviceDecl;
}
@ -83,10 +87,10 @@ extern "C"
lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
{
OSL_TRACE("In component_writeInfo");
#if 0
// Component registration
if ( component_writeInfoHelper( pServiceManager, pRegistryKey,
range::serviceDecl, workbook::serviceDecl, worksheet::serviceDecl, globals::serviceDecl, userform::serviceDecl, window::serviceDecl, hyperlink::serviceDecl ) )
range::serviceDecl, workbook::serviceDecl, worksheet::serviceDecl, globals::serviceDecl, window::serviceDecl, hyperlink::serviceDecl, application::serviceDecl ) )
{
// Singleton registration
try
@ -106,6 +110,12 @@ extern "C"
}
}
return sal_False;
#else
// Component registration
return component_writeInfoHelper( pServiceManager, pRegistryKey,
range::serviceDecl, workbook::serviceDecl, worksheet::serviceDecl, globals::serviceDecl, window::serviceDecl, hyperlink::serviceDecl, application::serviceDecl ) && component_writeInfoHelper( pServiceManager, pRegistryKey, textframe::serviceDecl );
#endif
}
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
@ -114,7 +124,9 @@ extern "C"
{
OSL_TRACE("In component_getFactory for %s", pImplName );
void* pRet = component_getFactoryHelper(
pImplName, pServiceManager, pRegistryKey, range::serviceDecl, workbook::serviceDecl, worksheet::serviceDecl, globals::serviceDecl, userform::serviceDecl, window::serviceDecl, hyperlink::serviceDecl );
pImplName, pServiceManager, pRegistryKey, range::serviceDecl, workbook::serviceDecl, worksheet::serviceDecl, globals::serviceDecl, window::serviceDecl, hyperlink::serviceDecl, application::serviceDecl );
if( !pRet )
pRet = component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey, textframe::serviceDecl );
OSL_TRACE("Ret is 0x%x", pRet);
return pRet;
}

View file

@ -0,0 +1,20 @@
Test run started : 17/07/2007 17:36:22
----------------------------------------------------------------
TestAddress
TEST START : TestAddress
ITEM Assertion OK : test1 'starts with' string criteria
ITEM Assertion OK : test2 'not equal to' string criteria
ITEM Assertion OK : test3 'ends with' string criteria
ITEM Assertion OK : test4 field 'all'
ITEM Assertion OK : test5 numeric '<15'
ITEM Assertion OK : test6 numeric '>=15'
ITEM Assertion OK : test7 numeric '<=12'
Test Results
============
Tests passed: 7
Tests failed: 0
END 'TestAddress
TEST OK : TestAddress
Test run finished : 17/07/2007 17:36:23

View file

@ -0,0 +1,45 @@
Test run started : 17/07/2007 15:01:37
----------------------------------------------------------------
MiscRangeTests
TEST START : MiscRangeTests
ITEM Assertion OK : test 1
ITEM Assertion OK : test 2
ITEM Assertion OK : test 3
ITEM Assertion OK : test 4
ITEM Assertion OK : test 5
ITEM Assertion OK : test 6
ITEM Assertion OK : test 7
ITEM Assertion OK : test 8
ITEM Assertion OK : test 9
ITEM Assertion OK : test 10
ITEM Assertion OK : test 11
ITEM Assertion OK : test 12
ITEM Assertion OK : test 13
ITEM Assertion OK : test 14
ITEM Assertion OK : test 15
ITEM Assertion OK : test 16
ITEM Assertion OK : test 17
ITEM Assertion OK : test 18
ITEM Assertion OK : test 19
ITEM Assertion OK : test 20
ITEM Assertion OK : test 21
ITEM Assertion OK : test 22
ITEM Assertion OK : test 23
ITEM Assertion OK : test 24
ITEM Assertion OK : test 25
ITEM Assertion OK : test 26
ITEM Assertion OK : test 27
ITEM Assertion OK : test 28
ITEM Assertion OK : test 29
ITEM Assertion OK : test 30
ITEM Assertion OK : test 31
No. tests: 31
Summary
=======
Run: 31
Passed: 31
Failed: 0
END 'MiscRangeTests
TEST OK : MiscRangeTests
Test run finished : 17/07/2007 15:01:39

View file

@ -0,0 +1,68 @@
Test run started : 18/06/2007 17:50:04
----------------------------------------------------------------
ClearFormtsIssue
TEST START : ClearFormtsIssue
ITEM Assertion OK : Range.Font.Bold is: True
ITEM Assertion OK : Range.Font.Bold is: False
END 'ClearFormtsIssue' Symbol
TEST OK : ClearFormtsIssue
----------------------------------------------------------------
VerticalAlignment-Issue
TEST START : VerticalAlignment-Issue
ITEM Assertion OK : - Range.VerticalAlignment (get)
ITEM Assertion OK : - Range.VerticalAlignment (set)
ITEM Assertion OK : - Range.VerticalAlignment (get)
ITEM Assertion OK : - Range.VerticalAlignment (get)
ITEM Assertion OK : - Range.VerticalAlignment (set)
ITEM Assertion OK : - Range.VerticalAlignment (get)
ITEM Assertion OK : - Range.VerticalAlignment (set)
ITEM Assertion OK : Range.VeritcalAlignment is Null
END 'VerticalAlignment-Issue' Symbol
TEST OK : VerticalAlignment-Issue
----------------------------------------------------------------
HorizontalAlignment-Issue
TEST START : HorizontalAlignment-Issue
ITEM Assertion OK : - Range.HorizontalAlignment (get)
ITEM Assertion OK : - Range.HorizontalAlignment (set)
ITEM Assertion OK : - Range.HorizontalAlignment (get)
ITEM Assertion OK : - Range.HorizontalAlignment (set)
ITEM Assertion OK : - Range.HorizontalAlignment (get)
ITEM Assertion OK : - Range.HorizontalAlignment (set)
ITEM Assertion OK : - Range.HorizontalAlignment (get)
ITEM Assertion OK : - Range.HorizontalAlignment (set)
ITEM Assertion OK : Range.HorizontalAlignment is Null
END 'HorizontalAlignment-Issue' Symbol
TEST OK : HorizontalAlignment-Issue
----------------------------------------------------------------
WrapText-Issue
TEST START : WrapText-Issue
ITEM Assertion OK : - Range.WrapText (get)
ITEM Assertion OK : - Range.WrapText (get)
ITEM Assertion OK : Range.WrapText is Null
END 'WrapText-Issue' Symbol
TEST OK : WrapText-Issue
----------------------------------------------------------------
FontBorderIssues
TEST START : FontBorderIssues
ITEM Assertion OK : - = Borders.Color (getColor)
ITEM Assertion OK : - = Font.Color (getColor)
END 'FontBorderIssues' Symbol
TEST OK : FontBorderIssues
----------------------------------------------------------------
RangeSizeIssues
TEST START : RangeSizeIssues
ITEM Assertion OK : Range.Left is: 114
ITEM Assertion OK : Range.Top is: 95.25
ITEM Assertion OK : Range.Width is: 216
ITEM Assertion OK : Range.Height is: 271.5
END 'RangeSizeIssues' Symbol
TEST OK : RangeSizeIssues
----------------------------------------------------------------
ApplicationIssues
TEST START : ApplicationIssues
ITEM Assertion OK : Range.Address is: $E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Range.Address is: $E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Application.ActiveSheet.Name: Sheet1
END 'ApplicationIssues' Symbol
TEST OK : ApplicationIssues
Test run finished : 18/06/2007 17:50:04

View file

@ -0,0 +1,8 @@
Test run started : 19/06/2007 11:21:42
----------------------------------------------------------------
MyGoalseek-Issue
TEST START : MyGoalseek-Issue
ITEM Assertion OK : Variable Range value: 15
END 'MyGoalseek-Issue' Symbol
TEST OK : MyGoalseek-Issue
Test run finished : 19/06/2007 11:21:42

View file

@ -0,0 +1,280 @@
Test run started : 01/06/2007 11:28:58
----------------------------------------------------------------
ApplicationMethods
TEST START : ApplicationMethods
ITEM Assertion OK : Name of Workbook is: Ranges.xls
ITEM Assertion OK : Address of Application.Columns is: $A:$A
ITEM Assertion OK : Address of Application.Rows is: $1:$1
ITEM Assertion OK : Address of Application.Range is: $1:$1,$5:$7
ITEM Assertion OK : Please check manually: DefaultFilePath is: C:\Documents and Settings\vituosity\My Documents
ITEM Assertion OK : Please check manually: Library Path is: C:\Program Files\Microsoft Office\OFFICE11\LIBRARY
ITEM Assertion OK : Please check manually: Template Path is: C:\Documents and Settings\vituosity\Application Data\Microsoft\Templates\
ITEM Assertion OK : FileSeparator is \
ITEM Assertion OK : Name of ActiveWorkbook is: Ranges.xls
END 'ApplicationMethods' Symbol
TEST OK : ApplicationMethods
----------------------------------------------------------------
Insert-Issue
TEST START : Insert-Issue
ITEM Assertion OK : Insert with xlShiftToRight: 10
END 'Insert-Issue' Symbol
TEST OK : Insert-Issue
----------------------------------------------------------------
MergeCells-Issue
TEST START : MergeCells-Issue
ITEM Assertion OK : Range.MergeCells is True
ITEM Assertion OK : MergeCells is null: True
ITEM Assertion OK : RowCount after Merge: 6
ITEM Assertion OK : Range.MergeCells is False
ITEM Assertion OK : MergeCells is null: False
ITEM Assertion OK : MergeCells of Second Area is null : True
ITEM Assertion OK : MergeCells of Ranges is Null: True
ITEM Assertion OK : RowCount after Merge: 7
ITEM Assertion OK : Range.MergeCells is False
ITEM Assertion OK : MergeCells is null: False
ITEM Assertion OK : RowCount after Merge: 7
END 'MergeCells-Issue' Symbol
TEST OK : MergeCells-Issue
----------------------------------------------------------------
Areas-Issue
TEST START : Areas-Issue
ITEM Assertion OK : Range Areas Count is2
ITEM Assertion OK : First Range Address is: $E$8:$G$13
ITEM Assertion OK : First Row is: 8
ITEM Assertion OK : First Column is: 5
ITEM Assertion OK : EntireRow Address is: $8:$13,$13:$19
ITEM Assertion OK : EntireColumn Address is: $E:$G,$G:$K
ITEM Assertion OK : Range Count:53
END 'Areas-Issue' Symbol
TEST OK : Areas-Issue
----------------------------------------------------------------
Fill-Methods-Issue
TEST START : Fill-Methods-Issue
ITEM Assertion OK : Range Value after FillDown: MyFillValue
ITEM Assertion OK : Range Value after FillDown: MyFillValue
ITEM Assertion OK : Range Value after FillDown: MyRightFillValue
ITEM Assertion OK : Range Value after FillDown: MyBottomFillValue
END 'Fill-Methods-Issue' Symbol
TEST OK : Fill-Methods-Issue
----------------------------------------------------------------
Range/Item-Method-Issue
TEST START : Range/Item-Method-Issue
ITEM Assertion OK : Range of multiple columns is: $A:$A,$C:$C
ITEM Assertion OK : Range of multiple rows is: $1:$1,$5:$7
ITEM Assertion OK : Range of several columns is: $C:$E,$D:$D
ITEM Assertion OK : Range of several rows is: $5:$8,$6:$10
ITEM Assertion OK : Range of several single cells is: $C$5,$E$8
ITEM Assertion OK : Range of several named ranges is: $L$1:$M$6,$E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Range of a single Item Cell is: $E$21
ITEM Assertion OK : Range of a single Item Cell is: $F$21
ITEM Assertion OK : Range of a single Item Cell is: $F$10
END 'Range/Item-Method-Issue' Symbol
TEST OK : Range/Item-Method-Issue
----------------------------------------------------------------
R1C1-Formulas-Issue
TEST START : R1C1-Formulas-Issue
ITEM Assertion OK : R1C1 Range.Formula is: =IF(OR(R[-2]C[1]=0,RC[2]="YES"),"")
ITEM Assertion OK : Range.Formula is: =IF(OR(J8=0,K10="YES"),"")
END 'R1C1-Formulas-Issue' Symbol
TEST OK : R1C1-Formulas-Issue
----------------------------------------------------------------
Verify_Delete
TEST START : Verify_Delete
ITEM Assertion OK : Ranges are intersecting: $G$13
ITEM Assertion OK : Delete with Default: $AJ$4
ITEM Assertion OK : Delete with ShifttoLeft: $AJ$4
ITEM Assertion OK : Delete with ShiftUp: $M$22
END 'Verify_Delete' Symbol
TEST OK : Verify_Delete
----------------------------------------------------------------
Value-Issue
TEST START : Value-Issue
ITEM Assertion OK : Value of Range is: 12.3
ITEM Assertion OK : Text of Range is: 12.3
ITEM Assertion OK : Range has Formula: False
ITEM Assertion OK : Cell has Formula: False
ITEM Assertion OK : Text of Range is null: True
ITEM Assertion OK : Range has Formula: True
ITEM Assertion OK : Cell has Formula: True
ITEM Assertion OK : Value of Cell is: 12
ITEM Assertion OK : Application.Calculation is : -4135
ITEM Assertion OK : Calculation is automated: True
ITEM Assertion OK : Range has Formula: True
ITEM Assertion OK : Value of Cell is: 16
ITEM Assertion OK : Text of Cell is: 16
ITEM Assertion OK : Text of Cell is: 16
ITEM Assertion OK : Range has Formula after 'ClearContents: False
ITEM Assertion OK : Text of Cell is:
ITEM Assertion OK : Text of Cell is:
END 'Value-Issue' Symbol
TEST OK : Value-Issue
----------------------------------------------------------------
AutoFit issue
TEST START : AutoFit issue
ITEM Assertion OK : Columns.AutoFit: CurrentWidth is 673
ITEM Assertion OK : Rows.AutoFit: CurrentHeight is 612
END 'AutoFit issue' Symbol
TEST OK : AutoFit issue
----------------------------------------------------------------
Selections
TEST START : Selections
ITEM Assertion OK : ActiveCell is : $E$8
ITEM Assertion OK : Active Cell is : $E$8
ITEM Assertion OK : Number of Cells in Range: 53
ITEM Assertion OK : Number of Cells in Range: 53
ITEM Assertion OK : Number of Cells in Range: 53
END 'Selections' Symbol
TEST OK : Selections
----------------------------------------------------------------
Offset-Resize
TEST START : Offset-Resize
ITEM Assertion OK : Offset is : $G$10:$I$15,$I$15:$M$21
ITEM Assertion OK : Offset is : $G$7:$I$12,$I$12:$M$18
ITEM Assertion OK : Resized Range is : $A$20:$D$23
END 'Offset-Resize' Symbol
TEST OK : Offset-Resize
----------------------------------------------------------------
Ranges-Address
TEST START : Ranges-Address
ITEM Assertion OK : Range Address is: $E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Range Address is: $E8:$G13,$G13:$K19
ITEM Assertion OK : Range Address is: E$8:G$13,G$13:K$19
ITEM Assertion OK : Range Address is: R8C5:R13C7,R13C7:R19C11
ITEM Assertion OK : Range Address is: $E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Range Address is: R8C5:R13C7,R13C7:R19C11
ITEM Assertion OK : Range Address is: R[6]C[3]:R[11]C[5],R[11]C[5]:R[17]C[9]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$E$8:$G$13,$G$13:$K$19
END 'Ranges-Address' Symbol
TEST OK : Ranges-Address
----------------------------------------------------------------
Range-Address
TEST START : Range-Address
ITEM Assertion OK : Range Address is: $E$8:$G$13
ITEM Assertion OK : Range Address is: $E8:$G13
ITEM Assertion OK : Range Address is: E$8:G$13
ITEM Assertion OK : Range Address is: R8C5:R13C7
ITEM Assertion OK : Range Address is: $E$8:$G$13
ITEM Assertion OK : Range Address is: R8C5:R13C7
ITEM Assertion OK : Range Address is: R[6]C[3]:R[11]C[5]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$E$8:$G$13
END 'Range-Address' Symbol
TEST OK : Range-Address
----------------------------------------------------------------
Column-Address
TEST START : Column-Address
ITEM Assertion OK : Range Address is: $F$8:$F$13
ITEM Assertion OK : Range Address is: $F8:$F13
ITEM Assertion OK : Range Address is: F$8:F$13
ITEM Assertion OK : Range Address is: R8C6:R13C6
ITEM Assertion OK : Range Address is: $F$8:$F$13
ITEM Assertion OK : Range Address is: R8C6:R13C6
ITEM Assertion OK : Range Address is: R[6]C[4]:R[11]C[4]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$F$8:$F$13
END 'Column-Address' Symbol
TEST OK : Column-Address
----------------------------------------------------------------
Row-Address
TEST START : Row-Address
ITEM Assertion OK : Range Address is: $E$9:$G$9
ITEM Assertion OK : Range Address is: $E9:$G9
ITEM Assertion OK : Range Address is: E$9:G$9
ITEM Assertion OK : Range Address is: R9C5:R9C7
ITEM Assertion OK : Range Address is: $E$9:$G$9
ITEM Assertion OK : Range Address is: R9C5:R9C7
ITEM Assertion OK : Range Address is: R[7]C[3]:R[7]C[5]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$E$9:$G$9
END 'Row-Address' Symbol
TEST OK : Row-Address
----------------------------------------------------------------
SingleCell-Address
TEST START : SingleCell-Address
ITEM Assertion OK : Range Address is: $F$9
ITEM Assertion OK : Range Address is: $F9
ITEM Assertion OK : Range Address is: F$9
ITEM Assertion OK : Range Address is: R9C6
ITEM Assertion OK : Range Address is: $F$9
ITEM Assertion OK : Range Address is: R9C6
ITEM Assertion OK : Range Address is: R[7]C[4]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$F$9
END 'SingleCell-Address' Symbol
TEST OK : SingleCell-Address
----------------------------------------------------------------
Heights and Widths
TEST START : Heights and Widths
ITEM Assertion OK : Range RowHeight is 40
ITEM Assertion OK : Range ColumnWidth is 50
ITEM Assertion OK : Range Height is 238
ITEM Assertion OK : Range Width is 798.75
ITEM Assertion OK : Range RowHeight is 50
ITEM Assertion OK : Range ColumnWidth is 50
ITEM Assertion OK : Range Height is 297
ITEM Assertion OK : Range Width is 798.75
ITEM Assertion OK : RowHeight is null: True
ITEM Assertion OK : ColumnWidth is null: True
END 'Heights and Widths' Symbol
TEST OK : Heights and Widths
----------------------------------------------------------------
RangeRowColumn-Issue
TEST START : RangeRowColumn-Issue
ITEM Assertion OK : Row is: 8
ITEM Assertion OK : Column is: 5
ITEM Assertion OK : EntireRow.Columns.Count = 256
ITEM Assertion OK : EntireColumn.Rows.Count = 65536
END 'RangeRowColumn-Issue' Symbol
TEST OK : RangeRowColumn-Issue
----------------------------------------------------------------
Replace-Issue
TEST START : Replace-Issue
ITEM Assertion OK : Value after Replace: YourValue
ITEM Assertion OK : Value after Replace: YourValue
ITEM Assertion OK : Value after Replace: ReplaceValue
ITEM Assertion OK : Value after Replace: New ReplaceValue
ITEM Assertion OK : Value after Replace: New ReplaceValue
ITEM Assertion OK : Value after Replace: New Replace
ITEM Assertion OK : Value after Replace:
END 'Replace-Issue' Symbol
TEST OK : Replace-Issue
----------------------------------------------------------------
Hidden-Issue
TEST START : Hidden-Issue
ITEM Assertion OK : - Range.Rows.Hidden (set)
ITEM Assertion OK : - Range.Rows.Hidden (get)
ITEM Assertion OK : - Range.Rows.Item(1).Hidden (set)
ITEM Assertion OK : - Range.Rows.Item(1).Hidden (get)
ITEM Assertion OK : - Range.Columns.Hidden (set)
ITEM Assertion OK : - Range.Columns.Hidden (get)
ITEM Assertion OK : - Range.Columns.Item(1).Hidden (set)
ITEM Assertion OK : - Range.Columns.Item(1).Hidden (get)
END 'Hidden-Issue' Symbol
TEST OK : Hidden-Issue
----------------------------------------------------------------
End issue
TEST START : End issue
ITEM Assertion OK : - = $E$48
ITEM Assertion OK : - = $E$1
ITEM Assertion OK : - = $E$3
ITEM Assertion OK : - = $A$8
ITEM Assertion OK : - = $B$8
ITEM Assertion OK : - = $IV$8
ITEM Assertion OK : - = $Z$8
END 'End issue' Symbol
TEST OK : End issue
----------------------------------------------------------------
Outline issue
TEST START : Outline issue
ITEM Assertion OK : - Range.clearOutline - please check visually
ITEM Assertion OK : - Range.AutoOutline - please check visually
ITEM Assertion OK : - Range.AutoOutline - please check visually
END 'Outline issue' Symbol
TEST OK : Outline issue
----------------------------------------------------------------
Validation
TEST START : Validation
ITEM Assertion OK : Validation Input Message is : Attention!
ITEM Assertion OK : Validation Input Message is : Enter an integer from five to ten
ITEM Assertion OK : Validation Error Title is : You must enter a number from five to ten
ITEM Assertion OK : Validation Error Message is : An Error occured
ITEM Assertion OK : Validation Error Title is : Microsoft Excel
END 'Validation' Symbol
TEST OK : Validation
Test run finished : 01/06/2007 11:29:00

View file

@ -0,0 +1,62 @@
Test run started : 17/07/2007 15:25:17
----------------------------------------------------------------
TestAddress
TEST START : TestAddress
ITEM Assertion OK : test1 Range('e3:f3') A1 style addressing
ITEM Assertion OK : test2 Range('e3:f3') R1C1 style addressing
ITEM Assertion OK : test3 Range ('e:f') A1 style addressing
ITEM Assertion OK : test4 Range ('e:f') R1C1 style addressing
ITEM Assertion OK : test5 Columns A1 style addressing
ITEM Assertion OK : test6 Columns R1C1 style addressing
ITEM Assertion OK : test7 Columns(3) A1 style addressing
ITEM Assertion OK : test8 Columns(3) R1C1 style addressing
ITEM Assertion OK : test9 Columns('e') A1 style addressing
ITEM Assertion OK : test10 Columns('e') R1C1 style addressing
ITEM Assertion OK : test11 Columns('b:d') A1 style addressing
ITEM Assertion OK : test12 Columns('b:d') R1C1 style addressing
ITEM Assertion OK : test13 Range('c1:g10').Columns A1 style addressing
ITEM Assertion OK : test14 Range('c1:g10').Columns R1C1 style addressing
ITEM Assertion OK : test15 Range('c1:g10').Columns(1) A1 style addressing
ITEM Assertion OK : test16 Range('c1:g10').Columns(1) R1C1 style addressing
ITEM Assertion OK : test17 Range('c1:g10').Columns('a') A1 style addressing
ITEM Assertion OK : test18 Range('c1:g10').Columns('a') R1C1 style addressing
ITEM Assertion OK : test19 Range('c1:g10').Columns('c') A1 style addressing
ITEM Assertion OK : test20 Range('c1:g10').Columns('c') R1C1 style addressing
ITEM Assertion OK : test21 Range('c1:g10').Columns('x:z') A1 style addressing
ITEM Assertion OK : test22 Range('c1:g10').Columns('x:z') R1C1 style addressing
ITEM Assertion OK : test23 Range('c1:g10').Columns(30) A1 style addressing
ITEM Assertion OK : test24 Range('c1:g10').Columns(30) R1C1 style addressing
ITEM Assertion OK : test25 Worksheets('Sheet2').Cells(1, 1) A1 style addressing
ITEM Assertion OK : test26 Worksheets('Sheet2').Cells(1, 1) A1 style addressing, RowAddressAbsolute is false
ITEM Assertion OK : test27 Worksheets('Sheet2').Cells(1, 1) A1 style addressing, ColAddressAbsolute is false
ITEM Assertion OK : test28 Worksheets('Sheet2').Cells(1, 1) R1C1 style addressing
ITEM Assertion OK : test29 Worksheets('Sheet2').Range('A1:E5').EntireColumn A1 style addressing
ITEM Assertion OK : test30 Worksheets('Sheet2').Range('A1').EntireColumn A1 style addressing
ITEM Assertion OK : test31 Worksheets('Sheet2').Range('A1:E5').EntireRow A1 style addressing
ITEM Assertion OK : test32 Worksheets('Sheet2').Range('A1') A1 style addressing
ITEM Assertion OK : test33 Worksheets('Sheet2').Range('IV65536').EntireRow A1 style addressing
ITEM Assertion OK : test34 Worksheets('Sheet2').Range('IU2:IV65536') A1 style addressing
ITEM Assertion OK : test35 Range('c1:g10').Columns('x:z') R1C1 style addressing
ITEM Assertion OK : test36 Worksheets('Sheet2').Range('A1') A1 style addressing
ITEM Assertion OK : test37 Worksheets('Sheet2').Range('A1:E5').EntireColumn A1 style addressing
ITEM Assertion OK : test38 Worksheets('Sheet2').Range('10:12') A1 style addressing
ITEM Assertion OK : test39 Worksheets('Sheet2').Range('10:12') R1C1 style addressing
ITEM Assertion OK : test40 Range('Sheet3!A1:B4') A1 style addressing
ITEM Assertion OK : test41 Range('Sheet3!A1,B1,D4:F20') A1 style addressing
ITEM Assertion OK : test42 Range('g20:h40').Columns('c:c')
ITEM Assertion OK : test43 Range('g20:h40').Columns('c:f')
ITEM Assertion OK : test44 Range('g20:h40').Columns(-1)
ITEM Assertion OK : test45 Range('c4:g10').Rows(-1)
ITEM Assertion OK : test46 Range('a2:b4').Rows('1:1')
ITEM Assertion OK : test47 Range('a2:b4').Rows('1:2')
ITEM Assertion OK : test48 Range('a2:b4').Rows('2:2')
ITEM Assertion OK : test49 Range('a2:b4').Rows('2:3')
Test Results
============
Tests passed: 49
Tests failed: 0
END 'TestAddress
TEST OK : TestAddress
Test run finished : 17/07/2007 15:25:19

View file

@ -0,0 +1,60 @@
Test run started : 30/05/2007 11:33:13
BEGIN TestCalc
TEST START : RangeTest2
ITEM Assertion OK : - Range("D15").Row
ITEM Assertion OK : - WorkSheet("D15").Range.Row
ITEM Assertion OK : - Range("D15").Column
ITEM Assertion OK : - Worksheet.Range("D15").Column
ITEM Assertion OK : - Range("D1").EntireRow.Valuer
ITEM Assertion OK : - Range("D1").EntireRow.Valuer
ITEM Assertion OK : - Range("D1").EntireRow.Columns.Count
ITEM Assertion OK : - Range("D1").EntireColumn.Rows.Count
ITEM Assertion OK : - Range("D15").ClearContent
ITEM Assertion OK : - Range("M1:N2").Rows.Hidden (set)
ITEM Assertion OK : - Range("M1:N2").Rows.Hidden (get)
ITEM Assertion OK : - Range("M1:N2").Rows(1).Hidden (set)
ITEM Assertion OK : - Range("M1:N2").Rows(1).Hidden (get)
ITEM Assertion OK : - Range("M1:N2").Columns.Hidden (set)
ITEM Assertion OK : - Range("M1:N2").Columns.Hidden (get)
ITEM Assertion OK : - Range("M1:N2").Columns(1).Hidden (set)
ITEM Assertion OK : - Range("M1:N2").Columns(1).Hidden (get)
ITEM Assertion OK : - Range("B38").Orientation (get)
ITEM Assertion OK : - Range("B38").Orientation (set)
ITEM Assertion OK : - Range("B38").Orientation (set = xlDownward)
ITEM Assertion OK : - Range("B38").Orientation (set)
ITEM Assertion OK : - Range("B38").Orientation (set = xlUpward)
ITEM Assertion OK : - Range("B38").Orientation (set)
ITEM Assertion OK : - Range("B38").Orientation (set = xlVertical)
ITEM Assertion OK : - Range("B38").Orientation (set)
ITEM Assertion OK : - Range("B38").Orientation (set = xlVertical)
ITEM Assertion OK : - Range("B39").WrapText (get)
ITEM Assertion OK : - Range("B39").WrapText (set)
ITEM Assertion OK : - Range("B39").WrapText (set)
ITEM Assertion OK : - Range("E39").MergeCells (get)
ITEM Assertion OK : - Range("F39").MergeCells (get)
ITEM Assertion OK : - Range("E39").MergeCells (set)
ITEM Assertion OK : - Range("F39").MergeCells (set)
ITEM Assertion OK : - Range("E39").MergeCells (set)
ITEM Assertion OK : - Range("F39").MergeCells (set)
ITEM Assertion OK : - Range("C41:C42").Replace MatchCase:=True
ITEM Assertion OK : - Range("C41:C42").Replace MatchCase:=True
ITEM Assertion OK : - Range("D41:D42").Replace MatchCase:=False
ITEM Assertion OK : - Range("B39").VerticalAlignment (get)
ITEM Assertion OK : - Range("B39").VerticalAlignment (set)
ITEM Assertion OK : - Range("B39").VerticalAlignment (get)
ITEM Assertion OK : - Range("B39").VerticalAlignment (get)
ITEM Assertion OK : - Range("B39").VerticalAlignment (set)
ITEM Assertion OK : - Range("B39").VerticalAlignment (get)
ITEM Assertion OK : - Range("B39").VerticalAlignment (set)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (get)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (set)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (get)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (set)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (get)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (set)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (get)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (set)
ITEM OK (RangeTest2)
TEST succesfully completed : RangeTest2
END TestCalc
Test run finished : 30/05/2007 11:33:14

View file

@ -0,0 +1,64 @@
Test run started : 31/05/2007 11:02:10
BEGIN TestCalc
TEST START : RangeTest3
ITEM Assertion OK : - setFormulaR1C1
ITEM Assertion OK : - getFormulaR1C1
ITEM Assertion OK : - Range.Copy() and Range.PasteSpecial()
ITEM Assertion OK : - Range.Copy(Range("I10"))
ITEM Assertion OK : PasteSpecial Paste:=xlPasteValues
ITEM Assertion OK : PasteSpecial Paste:=xlPasteFormulas
ITEM Assertion OK : PasteSpecial Paste:=xlPasteFormats
ITEM Assertion OK : PasteSpecial
ITEM Assertion OK : PasteSpecial SkipBlanks:=True
ITEM Assertion OK : PasteSpecial Operation:=xlPasteSpecialOperationAdd
ITEM Assertion OK : PasteSpecial Operation:=xlPasteSpecialOperationSubtract
ITEM Assertion OK : PasteSpecial Operation:=xlPasteSpecialOperationMultiply
ITEM Assertion OK : PasteSpecial Operation:=xlPasteSpecialOperationDivide
ITEM Assertion OK : PasteSpecial Transpose:=True
ITEM Assertion OK : ActiveWorkbook.Name
ITEM Assertion OK : ActiveWorkbook.FullName und ActiveWorkbook.Path
ITEM Assertion OK : - = Range("K22").End (xlDown)
ITEM Assertion OK : - = Range("K22").End (xlUo)
ITEM Assertion OK : - = Range("K22").End (xlToLeft)
ITEM Assertion OK : - = Range("K22").End (xlRight)
ITEM Assertion OK : - ActiveSpreadsheet.Next
ITEM Assertion OK : - ActiveSpreadsheet.Next
ITEM Assertion OK : - ActiveSpreadsheet.Previous
ITEM Assertion OK : - ActiveSpreadsheet.Previous
ITEM Assertion OK : - Range("J4:J11").AutoFilter field:=1, Criteria1:="x"
ITEM Assertion OK : - Range("J4:J11").AutoFilter field:=1, Criteria1:="<>"
ITEM Assertion OK : - Range("J4:J11").AutoFilter field:=1, Criteria1:="="
ITEM Assertion OK : - Range("J4:J11").AutoFilter
ITEM Assertion OK : - ActiveSheet.Resize.Select
ITEM Assertion OK : - Application.GoTo Reference:="R8C2"
ITEM Assertion OK : - Application.GoTo Reference:="R[8]C[2]"
ITEM Assertion OK : - Application.GoTo Reference:="R8C2"
ITEM Assertion OK : - Range.Group - please check visually
ITEM Assertion OK : - Range.Group - please check visually
ITEM Assertion OK : - Range.Ungroup- please check visually
ITEM Assertion OK : - Range.Ungroup - please check visually
ITEM Assertion OK : - Range.Group - please check visually
ITEM Assertion OK : - Range.Group - please check visually
ITEM Assertion OK : - Range.clearOutline - please check visually
ITEM Assertion OK : - Range.AutoOutline - please check visually
ITEM Assertion OK : - Range.AutoOutline - please check visually
ITEM Assertion OK : - ActiveSheet.UsedRange.Select
ITEM Assertion FAIL : - Range("A13").AddIndent
ITEM Assertion OK : - Range("A13").IndentLevel set
ITEM Assertion OK : - Range("A13").IndentLevel get
ITEM Assertion OK : - Range("A13").IndentLevel get
ITEM Assertion OK : - Range.Copy() and Range.PasteSpecial()
ITEM Assertion OK : - Range.Copy() and Range.PasteSpecial()
ITEM Assertion OK : - Range.Copy() and Range.PasteSpecial()
ITEM Assertion OK : - Range.Calculate
ITEM Assertion OK : Worksheet.Calculate
ITEM Assertion OK : - Application.Calculate
ITEM Assertion OK : Global.Calculate
ITEM Assertion OK : Calculation set
ITEM Assertion OK : - = ActiveWorkbook.Colors(3) set
ITEM Assertion OK : - = ActiveWorkbook.ResetColors
ITEM Assertion OK : - = ActiveWorkbook.Colors(3) get
ITEM FAIL (RangeTest3)
TEST Not succesfully completed : RangeTest3
END TestCalc
Test run finished : 31/05/2007 11:02:12

View file

@ -0,0 +1,36 @@
Test run started : 08/10/2008 13:08:40
BEGIN Format
TEST START : Test Predefined_Number_Format_Sample function
ITEM Assertion OK : General Number: 562486.2356
ITEM Assertion OK : Fixed: 0.20
ITEM Assertion OK : Standard: 562,486.24
ITEM Assertion OK : Percent: 75.21%
ITEM Assertion OK : Scientific: 5.62E+05
ITEM Assertion OK : Scientific: -3.46E+03
ITEM Assertion OK : Yes/No: No
ITEM Assertion OK : Yes/No: Yes
ITEM Assertion OK : True/False: False
ITEM Assertion OK : True/False: True
ITEM Assertion OK : On/Off: Off
ITEM Assertion OK : On/Off: On
TEST OK : Test Predefined_Number_Format_Sample function
TEST START : Test Custom_Number_Format_Sample function
ITEM Assertion OK : 00.0000: 23.6750
ITEM Assertion OK : 00.00: 23.68
ITEM Assertion OK : 00000: 02658
ITEM Assertion OK : 00.00: 2658.00
ITEM Assertion OK : ##.####: 23.675
ITEM Assertion OK : ##.##: 23.68
ITEM Assertion OK : #,###.##: 12,345.25
ITEM Assertion OK : ##.00%: 25.00%
ITEM Assertion OK : #,###: 1,000,000
ITEM Assertion OK : ######E-###: 109838E-5
ITEM Assertion OK : $#,###.##: $2,345.25
ITEM Assertion OK : ##.###\%: .25%
TEST OK : Test Custom_Number_Format_Sample function
TEST START : Test Custom_Text_Format_Sample function
ITEM Assertion OK : <: vba
ITEM Assertion OK : >: VBA
TEST OK : Test Custom_Text_Format_Sample function
END Format
Test run finished : 08/10/2008 13:08:40

View file

@ -0,0 +1,20 @@
Test run started : 18/07/2007 10:56:38
----------------------------------------------------------------
TestAddress
TEST START : TestAddress
ITEM Assertion OK : test1 'starts with' string criteria
ITEM Assertion OK : test2 'not equal to' string criteria
ITEM Assertion OK : test3 'ends with' string criteria
ITEM Assertion OK : test4 field 'all'
ITEM Assertion OK : test5 numeric '<15'
ITEM Assertion OK : test6 numeric '>=15'
ITEM Assertion OK : test7 numeric '<=12'
Test Results
============
Tests passed: 7
Tests failed: 0
END 'TestAddress
TEST OK : TestAddress
Test run finished : 18/07/2007 10:56:44

View file

@ -0,0 +1,17 @@
Test run started : 10/09/2008 02:40:17 PM
CalcFont_Format
TEST START : Font_Format
ITEM Assertion OK : correctly set font to Bold
ITEM Assertion OK : correctly set font to Italic
ITEM Assertion OK : correctly read FontStyle
ITEM Assertion OK : correctly set font to Shadow
ITEM Assertion OK : correctly set font color
ITEM Assertion OK : correctly set font color index
ITEM Assertion OK : correctly set font name
ITEM Assertion OK : correctly set font outline
ITEM Assertion OK : correctly set font size
ITEM Assertion OK : correctly set font strikethrough
ITEM Assertion OK : correctly set font underline
TEST Success. : Font_Format
CalcFont_Format
Test run finished : 10/09/2008 02:40:17 PM

View file

@ -0,0 +1,18 @@
Test run started : 15/06/2009 12:49:35
CalcZoom
TEST START : CalcZoom
ITEM Assertion OK : test1 read window.zoom activesheet = sheet1
ITEM Assertion OK : test2 read window.zoom activesheet = sheet2
ITEM Assertion OK : test3 read window.zoom activesheet = sheet3
ITEM Assertion OK : test4 read window.zoom activesheet = sheet3
ITEM Assertion OK : test4 read window.zoom activesheet = sheet2
ITEM Assertion OK : test4 read window.zoom activesheet = sheet1
TEST Success. : CalcZoom
CalcZoom
Test Results
============
Tests passed: 6
Tests failed: 0
Test run finished : 15/06/2009 12:49:37

View file

@ -0,0 +1,31 @@
Test run started : 04/08/2009 12:42:26
----------------------------------------------------------------
FinancialFuncs
TEST START : FinancialFuncs
ITEM Assertion OK : DDB test
ITEM Assertion OK : FV test
ITEM Assertion OK : IPmt test
ITEM Assertion FAIL : IRR test
ITEM Assertion OK : MIRR test
ITEM Assertion FAIL : NPer test
ITEM Assertion FAIL : NPV test
ITEM Assertion FAIL : Pmt test
ITEM Assertion OK : PPmt test
ITEM Assertion OK : PV test
ITEM Assertion FAIL : Rate test
ITEM Assertion OK : SLN test
ITEM Assertion OK : SYD test
Test Results
============
IRR test Failed: expected 35.8625323270733 got 35.8625323273411
NPer test Failed: expected 21.5365977313406 got 21.5365977313408
NPV test Failed: expected 3874.42183648785 got 3874.42183648784
Pmt test Failed: expected 20276.3942884139 got 20276.3942884138
Rate test Failed: expected 4.67819164224935E-02 got 4.67819164225E-02
Tests passed: 8
Tests failed: 5
END 'FinancialFuncs
TEST OK : FinancialFuncs
Test run finished : 04/08/2009 12:42:36

View file

@ -0,0 +1,30 @@
Test run started : 12/05/2009 12:36:15
----------------------------------------------------------------
TestAddress
TEST START : TestAddress
ITEM Assertion OK : test1: res = Not ( A > B )
ITEM Assertion OK : test2: res = Not ( B > A )
ITEM Assertion OK : test3: res = Not ( D )
ITEM Assertion OK : test4: res = Not A
ITEM Assertion OK : test5: res = ( A > D )
ITEM Assertion OK : test6: res = ( D > A )
ITEM Assertion OK : test7: res = ( A < D )
ITEM Assertion OK : test8: res = ( D < A )
ITEM Assertion OK : test9: res = ( A >= D )
ITEM Assertion OK : test10: res = ( D >= A )
ITEM Assertion OK : test11: res = ( A <= D )
ITEM Assertion OK : test12: res = ( D <= A )
ITEM Assertion OK : test13: res = ( D = A )
ITEM Assertion OK : test14: res = ( A = D )
ITEM Assertion OK : test15: res = ( D <> A )
ITEM Assertion OK : test16: res = ( A <> D )
ITEM Assertion OK : test17: ( A = D ) = True
Test Results
============
Tests passed: 17
Tests failed: 0
END 'TestAddress
TEST OK : TestAddress
Test run finished : 12/05/2009 12:36:15

View file

@ -0,0 +1,45 @@
Test run started : 17/07/2007 20:54:56
----------------------------------------------------------------
MiscRangeTests
TEST START : MiscRangeTests
ITEM Assertion OK : test 1
ITEM Assertion OK : test 2
ITEM Assertion OK : test 3
ITEM Assertion OK : test 4
ITEM Assertion OK : test 5
ITEM Assertion OK : test 6
ITEM Assertion OK : test 7
ITEM Assertion OK : test 8
ITEM Assertion OK : test 9
ITEM Assertion OK : test 10
ITEM Assertion OK : test 11
ITEM Assertion OK : test 12
ITEM Assertion OK : test 13
ITEM Assertion OK : test 14
ITEM Assertion OK : test 15
ITEM Assertion OK : test 16
ITEM Assertion OK : test 17
ITEM Assertion OK : test 18
ITEM Assertion OK : test 19
ITEM Assertion OK : test 20
ITEM Assertion OK : test 21
ITEM Assertion OK : test 22
ITEM Assertion OK : test 23
ITEM Assertion OK : test 24
ITEM Assertion OK : test 25
ITEM Assertion OK : test 26
ITEM Assertion OK : test 27
ITEM Assertion OK : test 28
ITEM Assertion OK : test 29
ITEM Assertion OK : test 30
ITEM Assertion OK : test 31
No. tests: 31
Summary
=======
Run: 31
Passed: 31
Failed: 0
END 'MiscRangeTests
TEST OK : MiscRangeTests
Test run finished : 17/07/2007 20:55:03

View file

@ -0,0 +1,10 @@
Test run started : 07/24/2008 05:06:12 PM
----------------------------------------------------------------
TEST START : PageBreaks-Issue
ITEM Assertion OK : HPageBreaks.Count is 3
ITEM Assertion OK : HPageBreak.Type is -4135
ITEM Assertion OK : HPageBreak.Location: Range.Row is 5
ITEM Assertion OK : HPageBreak.Delete: HPageBreaks.Count is 2
END 'PageBreaks-Issue' Symbol
TEST OK : PageBreaks-Issue
Test run finished : 07/24/2008 05:06:13 PM

View file

@ -0,0 +1,68 @@
Test run started : 19/06/2007 11:14:01
----------------------------------------------------------------
ClearFormtsIssue
TEST START : ClearFormtsIssue
ITEM Assertion OK : Range.Font.Bold is: True
ITEM Assertion OK : Range.Font.Bold is: False
END 'ClearFormtsIssue' Symbol
TEST OK : ClearFormtsIssue
----------------------------------------------------------------
VerticalAlignment-Issue
TEST START : VerticalAlignment-Issue
ITEM Assertion OK : - Range.VerticalAlignment (get)
ITEM Assertion OK : - Range.VerticalAlignment (set)
ITEM Assertion OK : - Range.VerticalAlignment (get)
ITEM Assertion OK : - Range.VerticalAlignment (get)
ITEM Assertion OK : - Range.VerticalAlignment (set)
ITEM Assertion OK : - Range.VerticalAlignment (get)
ITEM Assertion OK : - Range.VerticalAlignment (set)
ITEM Assertion OK : Range.VeritcalAlignment is Null
END 'VerticalAlignment-Issue' Symbol
TEST OK : VerticalAlignment-Issue
----------------------------------------------------------------
HorizontalAlignment-Issue
TEST START : HorizontalAlignment-Issue
ITEM Assertion OK : - Range.HorizontalAlignment (get)
ITEM Assertion OK : - Range.HorizontalAlignment (set)
ITEM Assertion OK : - Range.HorizontalAlignment (get)
ITEM Assertion OK : - Range.HorizontalAlignment (set)
ITEM Assertion OK : - Range.HorizontalAlignment (get)
ITEM Assertion OK : - Range.HorizontalAlignment (set)
ITEM Assertion OK : - Range.HorizontalAlignment (get)
ITEM Assertion OK : - Range.HorizontalAlignment (set)
ITEM Assertion OK : Range.HorizontalAlignment is Null
END 'HorizontalAlignment-Issue' Symbol
TEST OK : HorizontalAlignment-Issue
----------------------------------------------------------------
WrapText-Issue
TEST START : WrapText-Issue
ITEM Assertion OK : - Range.WrapText (get)
ITEM Assertion OK : - Range.WrapText (get)
ITEM Assertion OK : Range.WrapText is Null
END 'WrapText-Issue' Symbol
TEST OK : WrapText-Issue
----------------------------------------------------------------
FontBorderIssues
TEST START : FontBorderIssues
ITEM Assertion OK : - = Borders.Color (getColor)
ITEM Assertion OK : - = Font.Color (getColor)
END 'FontBorderIssues' Symbol
TEST OK : FontBorderIssues
----------------------------------------------------------------
RangeSizeIssues
TEST START : RangeSizeIssues
ITEM Assertion OK : Range.Left is: 118.8432
ITEM Assertion OK : Range.Top is: 92.16585
ITEM Assertion OK : Range.Width is: 226.2
ITEM Assertion OK : Range.Height is: 271.5
END 'RangeSizeIssues' Symbol
TEST OK : RangeSizeIssues
----------------------------------------------------------------
ApplicationIssues
TEST START : ApplicationIssues
ITEM Assertion OK : Range.Address is: $E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Range.Address is: $E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Application.ActiveSheet.Name: Sheet1
END 'ApplicationIssues' Symbol
TEST OK : ApplicationIssues
Test run finished : 19/06/2007 11:14:02

View file

@ -0,0 +1,8 @@
Test run started : 19/06/2007 11:26:09
----------------------------------------------------------------
MyGoalseek-Issue
TEST START : MyGoalseek-Issue
ITEM Assertion OK : Variable Range value: 15
END 'MyGoalseek-Issue' Symbol
TEST OK : MyGoalseek-Issue
Test run finished : 19/06/2007 11:26:10

View file

@ -0,0 +1,280 @@
Test run started : 10/03/2008 15:15:11
----------------------------------------------------------------
ApplicationMethods
TEST START : ApplicationMethods
ITEM Assertion OK : Name of Workbook is: Ranges.xls
ITEM Assertion OK : Address of Application.Columns is: $A:$A
ITEM Assertion OK : Address of Application.Rows is: $1:$1
ITEM Assertion OK : Address of Application.Range is: $1:$1,$5:$7
ITEM Assertion OK : Please check manually: DefaultFilePath is: /data4/home/npower/Documents
ITEM Assertion OK : Please check manually: Library Path is: /data4/home/npower/.ooo-2.0/user/basic
ITEM Assertion OK : Please check manually: Template Path is: /data4/home/npower/.ooo-2.0/user/template
ITEM Assertion OK : FileSeparator is /
ITEM Assertion OK : Name of ActiveWorkbook is: Ranges.xls
END 'ApplicationMethods' Symbol
TEST OK : ApplicationMethods
----------------------------------------------------------------
Insert-Issue
TEST START : Insert-Issue
ITEM Assertion OK : Insert with xlShiftToRight: 10
END 'Insert-Issue' Symbol
TEST OK : Insert-Issue
----------------------------------------------------------------
MergeCells-Issue
TEST START : MergeCells-Issue
ITEM Assertion OK : Range.MergeCells is True
ITEM Assertion FAIL : MergeCells is null: False
ITEM Assertion OK : RowCount after Merge: 13
ITEM Assertion OK : Range.MergeCells is False
ITEM Assertion OK : MergeCells is null: False
ITEM Assertion FAIL : MergeCells of Second Area is null : False
ITEM Assertion FAIL : MergeCells of Ranges is Null: False
ITEM Assertion OK : RowCount after Merge: 7
ITEM Assertion OK : Range.MergeCells is False
ITEM Assertion OK : MergeCells is null: False
ITEM Assertion OK : RowCount after Merge: 7
END 'MergeCells-Issue' Symbol
TEST OK : MergeCells-Issue
----------------------------------------------------------------
Areas-Issue
TEST START : Areas-Issue
ITEM Assertion OK : Range Areas Count is2
ITEM Assertion OK : First Range Address is: $E$8:$G$13
ITEM Assertion OK : First Row is: 8
ITEM Assertion OK : First Column is: 5
ITEM Assertion OK : EntireRow Address is: $8:$13,$13:$19
ITEM Assertion OK : EntireColumn Address is: $E:$G,$G:$K
ITEM Assertion OK : Range Count:53
END 'Areas-Issue' Symbol
TEST OK : Areas-Issue
----------------------------------------------------------------
Fill-Methods-Issue
TEST START : Fill-Methods-Issue
ITEM Assertion OK : Range Value after FillDown: MyFillValue
ITEM Assertion OK : Range Value after FillDown: MyFillValue
ITEM Assertion OK : Range Value after FillDown: MyRightFillValue
ITEM Assertion OK : Range Value after FillDown: MyBottomFillValue
END 'Fill-Methods-Issue' Symbol
TEST OK : Fill-Methods-Issue
----------------------------------------------------------------
Range/Item-Method-Issue
TEST START : Range/Item-Method-Issue
ITEM Assertion OK : Range of multiple columns is: $A:$A,$C:$C
ITEM Assertion OK : Range of multiple rows is: $1:$1,$5:$7
ITEM Assertion OK : Range of several columns is: $C:$E,$D:$D
ITEM Assertion OK : Range of several rows is: $5:$8,$6:$10
ITEM Assertion OK : Range of several single cells is: $C$5,$E$8
ITEM Assertion OK : Range of several named ranges is: $L$1:$M$6,$E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Range of a single Item Cell is: $E$21
ITEM Assertion OK : Range of a single Item Cell is: $F$21
ITEM Assertion OK : Range of a single Item Cell is: $F$10
END 'Range/Item-Method-Issue' Symbol
TEST OK : Range/Item-Method-Issue
----------------------------------------------------------------
R1C1-Formulas-Issue
TEST START : R1C1-Formulas-Issue
ITEM Assertion OK : R1C1 Range.Formula is: =IF(OR(R[-2]C[1]=0,RC[2]="YES"),"")
ITEM Assertion OK : Range.Formula is: =IF(OR(J8=0,K10="YES"),"")
END 'R1C1-Formulas-Issue' Symbol
TEST OK : R1C1-Formulas-Issue
----------------------------------------------------------------
Verify_Delete
TEST START : Verify_Delete
ITEM Assertion OK : Ranges are intersecting: $G$13
ITEM Assertion OK : Delete with Default: $AJ$4
ITEM Assertion OK : Delete with ShifttoLeft: $AJ$4
ITEM Assertion OK : Delete with ShiftUp: $M$22
END 'Verify_Delete' Symbol
TEST OK : Verify_Delete
----------------------------------------------------------------
Value-Issue
TEST START : Value-Issue
ITEM Assertion OK : Value of Range is: 12.3
ITEM Assertion OK : Text of Range is: 12.3
ITEM Assertion OK : Range has Formula: False
ITEM Assertion OK : Cell has Formula: False
ITEM Assertion FAIL : Text of Range is null: False
ITEM Assertion OK : Range has Formula: True
ITEM Assertion OK : Cell has Formula: True
ITEM Assertion OK : Value of Cell is: 12
ITEM Assertion OK : Application.Calculation is : -4135
ITEM Assertion OK : Calculation is automated: True
ITEM Assertion OK : Range has Formula: True
ITEM Assertion OK : Value of Cell is: 16
ITEM Assertion OK : Text of Cell is: 16
ITEM Assertion OK : Text of Cell is: 16
ITEM Assertion OK : Range has Formula after 'ClearContents: False
ITEM Assertion OK : Text of Cell is:
ITEM Assertion OK : Text of Cell is:
END 'Value-Issue' Symbol
TEST OK : Value-Issue
----------------------------------------------------------------
AutoFit issue
TEST START : AutoFit issue
ITEM Assertion OK : Columns.AutoFit: CurrentWidth is 680
ITEM Assertion OK : Rows.AutoFit: CurrentHeight is 554
END 'AutoFit issue' Symbol
TEST OK : AutoFit issue
----------------------------------------------------------------
Selections
TEST START : Selections
ITEM Assertion OK : ActiveCell is : $E$8
ITEM Assertion OK : Active Cell is : $E$8
ITEM Assertion OK : Number of Cells in Range: 52
ITEM Assertion OK : Number of Cells in Range: 52
ITEM Assertion OK : Number of Cells in Range: 52
END 'Selections' Symbol
TEST OK : Selections
----------------------------------------------------------------
Offset-Resize
TEST START : Offset-Resize
ITEM Assertion OK : Offset is : $G$10:$I$15,$I$15:$M$21
ITEM Assertion OK : Offset is : $G$7:$I$12,$I$12:$M$18
ITEM Assertion OK : Resized Range is : $A$20:$D$23
END 'Offset-Resize' Symbol
TEST OK : Offset-Resize
----------------------------------------------------------------
Ranges-Address
TEST START : Ranges-Address
ITEM Assertion OK : Range Address is: $E$8:$G$13,$G$13:$K$19
ITEM Assertion OK : Range Address is: $E8:$G13,$G13:$K19
ITEM Assertion OK : Range Address is: E$8:G$13,G$13:K$19
ITEM Assertion OK : Range Address is: R8C5:R13C7,R13C7:R19C11
ITEM Assertion FAIL : Range Address is: R8C5:R13C7,R13C7:R19C11
ITEM Assertion OK : Range Address is: R8C5:R13C7,R13C7:R19C11
ITEM Assertion OK : Range Address is: R[6]C[3]:R[11]C[5],R[11]C[5]:R[17]C[9]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$E$8:$G$13,$G$13:$K$19
END 'Ranges-Address' Symbol
TEST OK : Ranges-Address
----------------------------------------------------------------
Range-Address
TEST START : Range-Address
ITEM Assertion OK : Range Address is: $E$8:$G$13
ITEM Assertion OK : Range Address is: $E8:$G13
ITEM Assertion OK : Range Address is: E$8:G$13
ITEM Assertion OK : Range Address is: R8C5:R13C7
ITEM Assertion FAIL : Range Address is: R8C5:R13C7
ITEM Assertion OK : Range Address is: R8C5:R13C7
ITEM Assertion OK : Range Address is: R[6]C[3]:R[11]C[5]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$E$8:$G$13
END 'Range-Address' Symbol
TEST OK : Range-Address
----------------------------------------------------------------
Column-Address
TEST START : Column-Address
ITEM Assertion OK : Range Address is: $F$8:$F$13
ITEM Assertion OK : Range Address is: $F8:$F13
ITEM Assertion OK : Range Address is: F$8:F$13
ITEM Assertion OK : Range Address is: R8C6:R13C6
ITEM Assertion FAIL : Range Address is: R8C6:R13C6
ITEM Assertion OK : Range Address is: R8C6:R13C6
ITEM Assertion OK : Range Address is: R[6]C[4]:R[11]C[4]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$F$8:$F$13
END 'Column-Address' Symbol
TEST OK : Column-Address
----------------------------------------------------------------
Row-Address
TEST START : Row-Address
ITEM Assertion OK : Range Address is: $E$9:$G$9
ITEM Assertion OK : Range Address is: $E9:$G9
ITEM Assertion OK : Range Address is: E$9:G$9
ITEM Assertion OK : Range Address is: R9C5:R9C7
ITEM Assertion FAIL : Range Address is: R9C5:R9C7
ITEM Assertion OK : Range Address is: R9C5:R9C7
ITEM Assertion OK : Range Address is: R[7]C[3]:R[7]C[5]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$E$9:$G$9
END 'Row-Address' Symbol
TEST OK : Row-Address
----------------------------------------------------------------
SingleCell-Address
TEST START : SingleCell-Address
ITEM Assertion OK : Range Address is: $F$9
ITEM Assertion OK : Range Address is: $F9
ITEM Assertion OK : Range Address is: F$9
ITEM Assertion OK : Range Address is: R9C6
ITEM Assertion FAIL : Range Address is: R9C6
ITEM Assertion OK : Range Address is: R9C6
ITEM Assertion OK : Range Address is: R[7]C[4]
ITEM Assertion OK : RangeAddress is [Ranges.xls]Sheet1!$F$9
END 'SingleCell-Address' Symbol
TEST OK : SingleCell-Address
----------------------------------------------------------------
Heights and Widths
TEST START : Heights and Widths
ITEM Assertion OK : Range RowHeight is 40
ITEM Assertion OK : Range ColumnWidth is 50
ITEM Assertion OK : Range Height is 240
ITEM Assertion OK : Range Width is 795
ITEM Assertion OK : Range RowHeight is 50
ITEM Assertion OK : Range ColumnWidth is 50
ITEM Assertion OK : Range Height is 300
ITEM Assertion OK : Range Width is 795
ITEM Assertion OK : RowHeight is null: True
ITEM Assertion OK : ColumnWidth is null: True
END 'Heights and Widths' Symbol
TEST OK : Heights and Widths
----------------------------------------------------------------
RangeRowColumn-Issue
TEST START : RangeRowColumn-Issue
ITEM Assertion OK : Row is: 8
ITEM Assertion OK : Column is: 5
ITEM Assertion OK : EntireRow.Columns.Count = 256
ITEM Assertion OK : EntireColumn.Rows.Count = 131072
END 'RangeRowColumn-Issue' Symbol
TEST OK : RangeRowColumn-Issue
----------------------------------------------------------------
Replace-Issue
TEST START : Replace-Issue
ITEM Assertion OK : Value after Replace: YourValue
ITEM Assertion OK : Value after Replace: YourValue
ITEM Assertion OK : Value after Replace: ReplaceValue
ITEM Assertion OK : Value after Replace: New ReplaceValue
ITEM Assertion OK : Value after Replace: New ReplaceValue
ITEM Assertion OK : Value after Replace: New Replace
ITEM Assertion OK : Value after Replace:
END 'Replace-Issue' Symbol
TEST OK : Replace-Issue
----------------------------------------------------------------
Hidden-Issue
TEST START : Hidden-Issue
ITEM Assertion OK : - Range.Rows.Hidden (set)
ITEM Assertion OK : - Range.Rows.Hidden (get)
ITEM Assertion OK : - Range.Rows.Item(1).Hidden (set)
ITEM Assertion OK : - Range.Rows.Item(1).Hidden (get)
ITEM Assertion OK : - Range.Columns.Hidden (set)
ITEM Assertion OK : - Range.Columns.Hidden (get)
ITEM Assertion OK : - Range.Columns.Item(1).Hidden (set)
ITEM Assertion OK : - Range.Columns.Item(1).Hidden (get)
END 'Hidden-Issue' Symbol
TEST OK : Hidden-Issue
----------------------------------------------------------------
End issue
TEST START : End issue
ITEM Assertion OK : - = $E$48
ITEM Assertion OK : - = $E$1
ITEM Assertion OK : - = $E$3
ITEM Assertion OK : - = $A$8
ITEM Assertion OK : - = $B$8
ITEM Assertion OK : - = $IV$8
ITEM Assertion OK : - = $Z$8
END 'End issue' Symbol
TEST OK : End issue
----------------------------------------------------------------
Outline issue
TEST START : Outline issue
ITEM Assertion OK : - Range.clearOutline - please check visually
ITEM Assertion OK : - Range.AutoOutline - please check visually
ITEM Assertion OK : - Range.AutoOutline - please check visually
END 'Outline issue' Symbol
TEST OK : Outline issue
----------------------------------------------------------------
Validation
TEST START : Validation
ITEM Assertion OK : Validation Input Message is : Attention!
ITEM Assertion OK : Validation Input Message is : Enter an integer from five to ten
ITEM Assertion OK : Validation Error Title is : You must enter a number from five to ten
ITEM Assertion OK : Validation Error Message is : An Error occured
ITEM Assertion OK : Validation Error Title is : Microsoft Excel
END 'Validation' Symbol
TEST OK : Validation
Test run finished : 10/03/2008 15:15:13

View file

@ -0,0 +1,77 @@
Test run started : 10/16/2007 05:25:21 PM
BEGIN Shapes_Collection_Behaviour
TEST START : Shapes_Collection_Behaviour
ITEM Assertion OK : Name of indexed shape should be 'Sheet2Shape1'
ITEM Assertion OK : Name of indexed shape should be 'Sheet2Shape2'
TEST Success. : Shapes_Collection_Behaviour
END Shapes_Collection_Behaviour
BEGIN Shapes_Select_Item
TEST START : Shapes_Select_Item
ITEM Assertion OK : Correctly selected shape through Range
ITEM Assertion OK : Correctly selected shape through Item
ITEM Assertion OK : Needs to be visually checked. Is there a line on the document?
ITEM Assertion OK : Needs to be visually checked. Are All Shapes Selected?
TEST Success. : Shapes_Select_Item
END Shapes_Select_Item
BEGIN Shapes_Fill
TEST START : Shapes_Fill
ITEM Assertion OK : correctly set visibility of shape fill
ITEM Assertion OK : correctly set transparency of shape line
ITEM Assertion OK : correctly set forecolor of shape fill
ITEM Assertion FAIL : correctly set backcolor of shape fill
ITEM Assertion OK : the success of the TwoColorGradient method needs to be verified visually!
ITEM Assertion OK : correctly set forecolor of shape fill
ITEM Assertion FAIL : correctly set forecolor of shape fill
TEST Success. : Shapes_Fill
END Shapes_Fill
BEGIN Shapes_Line
TEST START : Shapes_Line
ITEM Assertion FAIL : correctly set weight of shape line
ITEM Assertion OK : correctly set visibility of shape line
ITEM Assertion OK : correctly set transparency of shape line
ITEM Assertion OK : correctly set dash style of shape line
ITEM Assertion OK : correctly set dash style of shape line
ITEM Assertion OK : correctly set forecolor of shape line
ITEM Assertion FAIL : correctly set backcolor of shape line
TEST Success. : Shapes_Line
END Shapes_Line
BEGIN Shapes_TextFrame
TEST START : Shapes_TextFrame
ITEM Assertion OK : correctly set Autosize of Shape TextFrame
TEST Success. : Shapes_TextFrame
END Shapes_TextFrame
BEGIN Shapes_SimpleGeometry
TEST START : Shapes_SimpleGeometery
ITEM Assertion OK : shape height should be 47.0425168477155 and got 46.9984222363199
ITEM Assertion OK : shape width should be 101.467710269751 and got 101.423615658355
ITEM Assertion OK : shape left should be 68.5574761223637 and got 68.5417279658754
ITEM Assertion OK : shape top should be 42.0251943291216 and got 42.0094461726333
ITEM Assertion OK : shape rotation should be 0 and got 0
ITEM Assertion OK : shape rotation should be 25 and got 25
ITEM Assertion OK : shape incrementrotation should be 50 and got 50
ITEM Assertion OK : shape incrementleft should be 70.6834602404119 and got 70.6677120839236
ITEM Assertion OK : shape incrementtop should be 91.262986503119 and got 91.2472383466307
TEST Success. : Shapes_SimpleGeometery
END Shapes_SimpleGeometry
BEGIN Shapes_Range
TEST START : Shapes_Range
ITEM Assertion OK : expected Sheets(2).Shapes.Range(1) to contain 1 element, it contains 1
ITEM Assertion OK : expected Sheets(2).Shapes.Range(1) to return Sheet2Shape1 got Sheet2Shape1
ITEM Assertion OK : expected Sheets(2).Shapes.Range(Sheet2Shape3) to contain 1 element, it contains 1
ITEM Assertion OK : expected Sheets(2).Shapes.Range(Sheet2Shape3) to return Sheet2Shape3 got Sheet2Shape3
ITEM Assertion OK : expected Sheets(2).Shapes.Range(Array(3, 1) to contain 2 elements, it contains 2
ITEM Assertion OK : expected Sheets(2).Shapes.Range(Array(3, 1) to return concated element/shape names Sheet2Shape3Sheet2Shape1 and got Sheet2Shape3Sheet2Shape1
ITEM Assertion OK : expected Sheets(2).Shapes.Range(Array('Sheet2Shape3', 1, 'Sheet2Shape2')) to contain 3 elements, it contains 3
ITEM Assertion OK : expected Sheets(2).Shapes.Range(Array('Sheet2Shape3', 1, 'Sheet2Shape2')) to return concated element/shape names Sheet2Shape3Sheet2Shape1Sheet2Shape2 and got Sheet2Shape3Sheet2Shape1Sheet2Shape2
TEST Success. : Shapes_Range
END Shapes_Range
BEGIN Shapes_ShapeRange
TEST START : Shapes_ShapeRange
ITEM Assertion OK : ShapeRange.IncrementLeft shp1.left should be 90.6677120839236 and got 90.6519627935771
ITEM Assertion OK : ShapeRange.IncrementLeft shp2.left should be 240.02518299054 and got 240.009433700193
ITEM Assertion OK : ShapeRange.IncrementTop shp1.Top should be 111.247238346631 and got 111.231489056284
ITEM Assertion OK : ShapeRange.IncrementTop shp2.Top should be 65.0708633026228 and got 65.0551140122763
ITEM Assertion OK : ShapeRange.IncrementRotation shp1.Rotation should be 70 and got 70
ITEM Assertion OK : ShapeRange.IncrementRotation shp2.Rotation should be 20 and got 20
END Shapes_ShapeRange
Test run finished : 10/16/2007 05:25:22 PM

View file

@ -0,0 +1,9 @@
Test run started : 05/29/2008 02:51:03 PM
BEGIN StrConv
TEST START : Test StrConv function
ITEM Assertion OK : Converts the string to uppercase characters:ABC EFG HIJ
ITEM Assertion OK : Converts the string to lowercase characters:abc efg hij
ITEM Assertion OK : Converts the first letter of every word in string to uppercase:Abc Efg Hij
TEST OK : Test StrConv function
END StrConv
Test run finished : 05/29/2008 02:51:03 PM

View file

@ -0,0 +1,14 @@
Test run started : 20080710 11:57:05
----------------------------------------------------------------
TestCaseName
TEST START : TestCaseName
ITEM Assertion OK : Something has been done.
Test Results
============
Tests passed: 1
Tests failed: 0
END 'TestCaseName
TEST OK : TestCaseName
Test run finished : 20080710 11:57:05

View file

@ -0,0 +1,67 @@
Test run started : 12/05/2009 11:23:35
----------------------------------------------------------------
TestAddress
TEST START : TestAddress
ITEM Assertion OK : test1 Range('e3:f3') A1 style addressing
ITEM Assertion OK : test2 Range('e3:f3') R1C1 style addressing
ITEM Assertion OK : test3 Range ('e:f') A1 style addressing
ITEM Assertion OK : test4 Range ('e:f') R1C1 style addressing
ITEM Assertion OK : test5 Columns A1 style addressing
ITEM Assertion OK : test6 Columns R1C1 style addressing
ITEM Assertion OK : test7 Columns(3) A1 style addressing
ITEM Assertion OK : test8 Columns(3) R1C1 style addressing
ITEM Assertion OK : test9 Columns('e') A1 style addressing
ITEM Assertion OK : test10 Columns('e') R1C1 style addressing
ITEM Assertion OK : test11 Columns('b:d') A1 style addressing
ITEM Assertion OK : test12 Columns('b:d') R1C1 style addressing
ITEM Assertion OK : test13 Range('c1:g10').Columns A1 style addressing
ITEM Assertion OK : test14 Range('c1:g10').Columns R1C1 style addressing
ITEM Assertion OK : test15 Range('c1:g10').Columns(1) A1 style addressing
ITEM Assertion OK : test16 Range('c1:g10').Columns(1) R1C1 style addressing
ITEM Assertion OK : test17 Range('c1:g10').Columns('a') A1 style addressing
ITEM Assertion OK : test18 Range('c1:g10').Columns('a') R1C1 style addressing
ITEM Assertion OK : test19 Range('c1:g10').Columns('c') A1 style addressing
ITEM Assertion OK : test20 Range('c1:g10').Columns('c') R1C1 style addressing
ITEM Assertion OK : test21 Range('c1:g10').Columns('x:z') A1 style addressing
ITEM Assertion OK : test22 Range('c1:g10').Columns('x:z') R1C1 style addressing
ITEM Assertion OK : test23 Range('c1:g10').Columns(30) A1 style addressing
ITEM Assertion OK : test24 Range('c1:g10').Columns(30) R1C1 style addressing
ITEM Assertion OK : test25 Worksheets('Sheet2').Cells(1, 1) A1 style addressing
ITEM Assertion OK : test26 Worksheets('Sheet2').Cells(1, 1) A1 style addressing, RowAddressAbsolute is false
ITEM Assertion OK : test27 Worksheets('Sheet2').Cells(1, 1) A1 style addressing, ColAddressAbsolute is false
ITEM Assertion OK : test28 Worksheets('Sheet2').Cells(1, 1) R1C1 style addressing
ITEM Assertion OK : test29 Worksheets('Sheet2').Range('A1:E5').EntireColumn A1 style addressing
ITEM Assertion OK : test30 Worksheets('Sheet2').Range('A1').EntireColumn A1 style addressing
ITEM Assertion OK : test31 Worksheets('Sheet2').Range('A1:E5').EntireRow A1 style addressing
ITEM Assertion OK : test32 Worksheets('Sheet2').Range('A1') A1 style addressing
ITEM Assertion OK : test33 Worksheets('Sheet2').Range('IV65536').EntireRow A1 style addressing
ITEM Assertion OK : test34 Worksheets('Sheet2').Range('IU2:IV65536') A1 style addressing
ITEM Assertion OK : test35 Range('c1:g10').Columns('x:z') R1C1 style addressing
ITEM Assertion OK : test36 Worksheets('Sheet2').Range('A1') A1 style addressing
ITEM Assertion OK : test37 Worksheets('Sheet2').Range('A1:E5').EntireColumn A1 style addressing
ITEM Assertion OK : test38 Worksheets('Sheet2').Range('10:12') A1 style addressing
ITEM Assertion OK : test39 Worksheets('Sheet2').Range('10:12') R1C1 style addressing
ITEM Assertion OK : test40 Range('Sheet3!A1:B4') A1 style addressing
ITEM Assertion OK : test41 Range('Sheet3!A1,B1,D4:F20') A1 style addressing
ITEM Assertion OK : test42 Range('g20:h40').Columns('c:c')
ITEM Assertion OK : test43 Range('g20:h40').Columns('c:f')
ITEM Assertion OK : test44 Range('g20:h40').Columns(-1)
ITEM Assertion OK : test45 Range('c4:g10').Rows(-1)
ITEM Assertion OK : test46 Range('a2:b4').Rows('1:1')
ITEM Assertion OK : test47 Range('a2:b4').Rows('1:2')
ITEM Assertion OK : test48 Range('a2:b4').Rows('2:2')
ITEM Assertion OK : test49 Range('a2:b4').Rows('2:3')
ITEM Assertion OK : test50 Range(' A2:B4 ')
ITEM Assertion OK : test51 Range('A 2:B 4')
ITEM Assertion OK : test52 Range('A2 : B4 ')
ITEM Assertion OK : test53 Range('Sheet1 !A2 : B4 ')
ITEM Assertion OK : test54 Range('Sheet1! A2 : B4 ')
Test Results
============
Tests passed: 54
Tests failed: 0
END 'TestAddress
TEST OK : TestAddress
Test run finished : 12/05/2009 11:23:35

View file

@ -0,0 +1,60 @@
Test run started : 30/05/2007 15:59:40
BEGIN TestCalc
TEST START : RangeTest2
ITEM Assertion OK : - Range("D15").Row
ITEM Assertion OK : - WorkSheet("D15").Range.Row
ITEM Assertion OK : - Range("D15").Column
ITEM Assertion OK : - Worksheet.Range("D15").Column
ITEM Assertion OK : - Range("D1").EntireRow.Valuer
ITEM Assertion OK : - Range("D1").EntireRow.Valuer
ITEM Assertion OK : - Range("D1").EntireRow.Columns.Count
ITEM Assertion OK : - Range("D1").EntireColumn.Rows.Count
ITEM Assertion OK : - Range("D15").ClearContent
ITEM Assertion OK : - Range("M1:N2").Rows.Hidden (set)
ITEM Assertion OK : - Range("M1:N2").Rows.Hidden (get)
ITEM Assertion OK : - Range("M1:N2").Rows(1).Hidden (set)
ITEM Assertion OK : - Range("M1:N2").Rows(1).Hidden (get)
ITEM Assertion OK : - Range("M1:N2").Columns.Hidden (set)
ITEM Assertion OK : - Range("M1:N2").Columns.Hidden (get)
ITEM Assertion OK : - Range("M1:N2").Columns(1).Hidden (set)
ITEM Assertion OK : - Range("M1:N2").Columns(1).Hidden (get)
ITEM Assertion OK : - Range("B38").Orientation (get)
ITEM Assertion OK : - Range("B38").Orientation (set)
ITEM Assertion OK : - Range("B38").Orientation (set = xlDownward)
ITEM Assertion OK : - Range("B38").Orientation (set)
ITEM Assertion OK : - Range("B38").Orientation (set = xlUpward)
ITEM Assertion OK : - Range("B38").Orientation (set)
ITEM Assertion OK : - Range("B38").Orientation (set = xlVertical)
ITEM Assertion OK : - Range("B38").Orientation (set)
ITEM Assertion OK : - Range("B38").Orientation (set = xlVertical)
ITEM Assertion OK : - Range("B39").WrapText (get)
ITEM Assertion OK : - Range("B39").WrapText (set)
ITEM Assertion OK : - Range("B39").WrapText (set)
ITEM Assertion OK : - Range("E39").MergeCells (get)
ITEM Assertion OK : - Range("F39").MergeCells (get)
ITEM Assertion OK : - Range("E39").MergeCells (set)
ITEM Assertion FAIL : - Range("F39").MergeCells (set)
ITEM Assertion OK : - Range("E39").MergeCells (set)
ITEM Assertion OK : - Range("F39").MergeCells (set)
ITEM Assertion OK : - Range("C41:C42").Replace MatchCase:=True
ITEM Assertion OK : - Range("C41:C42").Replace MatchCase:=True
ITEM Assertion OK : - Range("D41:D42").Replace MatchCase:=False
ITEM Assertion OK : - Range("B39").VerticalAlignment (get)
ITEM Assertion OK : - Range("B39").VerticalAlignment (set)
ITEM Assertion OK : - Range("B39").VerticalAlignment (get)
ITEM Assertion OK : - Range("B39").VerticalAlignment (get)
ITEM Assertion OK : - Range("B39").VerticalAlignment (set)
ITEM Assertion OK : - Range("B39").VerticalAlignment (get)
ITEM Assertion OK : - Range("B39").VerticalAlignment (set)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (get)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (set)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (get)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (set)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (get)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (set)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (get)
ITEM Assertion OK : - Range("B39").HorizontalAlignment (set)
ITEM FAIL (RangeTest2)
TEST Not succesfully completed : RangeTest2
END TestCalc
Test run finished : 30/05/2007 15:59:42

View file

@ -0,0 +1,65 @@
Test run started : 10/03/2008 15:15:19
BEGIN TestCalc
TEST START : RangeTest3
ITEM Assertion OK : - setFormulaR1C1
ITEM Assertion OK : - getFormulaR1C1
ITEM Assertion OK : - Range.Copy() and Range.PasteSpecial()
ITEM Assertion OK : - Range.Copy(Range("I10"))
ITEM Assertion OK : PasteSpecial Paste:=xlPasteValues
ITEM Assertion OK : PasteSpecial Paste:=xlPasteFormulas
ITEM Assertion OK : PasteSpecial Paste:=xlPasteFormats
ITEM Assertion OK : PasteSpecial
ITEM Assertion OK : PasteSpecial SkipBlanks:=True
ITEM Assertion OK : PasteSpecial Operation:=xlPasteSpecialOperationAdd
ITEM Assertion OK : PasteSpecial Operation:=xlPasteSpecialOperationSubtract
ITEM Assertion OK : PasteSpecial Operation:=xlPasteSpecialOperationMultiply
ITEM Assertion OK : PasteSpecial Operation:=xlPasteSpecialOperationDivide
ITEM Assertion OK : PasteSpecial Transpose:=True
ITEM Assertion FAIL : ActiveWorkbook.FileFormat
ITEM Assertion OK : ActiveWorkbook.Name
ITEM Assertion OK : ActiveWorkbook.FullName und ActiveWorkbook.Path
ITEM Assertion FAIL : - = ActiveWorkbook.Colors(3) set
ITEM Assertion OK : - = ActiveWorkbook.ResetColors
ITEM Assertion OK : - = ActiveWorkbook.Colors(3) get
ITEM Assertion OK : - = Range("K22").End (xlDown)
ITEM Assertion OK : - = Range("K22").End (xlUo)
ITEM Assertion OK : - = Range("K22").End (xlToLeft)
ITEM Assertion OK : - = Range("K22").End (xlRight)
ITEM Assertion OK : - ActiveSpreadsheet.Next
ITEM Assertion OK : - ActiveSpreadsheet.Next
ITEM Assertion OK : - ActiveSpreadsheet.Previous
ITEM Assertion OK : - ActiveSpreadsheet.Previous
ITEM Assertion OK : - Range("J4:J11").AutoFilter field:=1, Criteria1:="x"
ITEM Assertion OK : - Range("J4:J11").AutoFilter field:=1, Criteria1:="<>"
ITEM Assertion OK : - Range("J4:J11").AutoFilter field:=1, Criteria1:="="
ITEM Assertion OK : - Range("J4:J11").AutoFilter
ITEM Assertion OK : - ActiveSheet.Resize.Select
ITEM Assertion OK : - Application.GoTo Reference:="R8C2"
ITEM Assertion FAIL : - Application.GoTo Reference:="R[8]C[2]"
ITEM Assertion OK : - Application.GoTo Reference:="R8C2"
ITEM Assertion OK : - Range.Group - please check visually
ITEM Assertion OK : - Range.Group - please check visually
ITEM Assertion OK : - Range.Ungroup- please check visually
ITEM Assertion OK : - Range.Ungroup - please check visually
ITEM Assertion OK : - Range.Group - please check visually
ITEM Assertion OK : - Range.Group - please check visually
ITEM Assertion OK : - Range.clearOutline - please check visually
ITEM Assertion OK : - Range.AutoOutline - please check visually
ITEM Assertion OK : - Range.AutoOutline - please check visually
ITEM Assertion OK : - ActiveSheet.UsedRange.Select
ITEM Assertion OK : - Range("A13").AddIndent
ITEM Assertion OK : - Range("A13").IndentLevel set
ITEM Assertion OK : - Range("A13").IndentLevel get
ITEM Assertion OK : - Range("A13").IndentLevel get
ITEM Assertion OK : - Range.Copy() and Range.PasteSpecial()
ITEM Assertion OK : - Range.Copy() and Range.PasteSpecial()
ITEM Assertion OK : - Range.Copy() and Range.PasteSpecial()
ITEM Assertion OK : - Range.Calculate
ITEM Assertion OK : Worksheet.Calculate
ITEM Assertion OK : - Application.Calculate
ITEM Assertion OK : Global.Calculate
ITEM Assertion OK : Calculation set
ITEM FAIL (RangeTest3)
TEST Not succesfully completed : RangeTest3
END TestCalc
Test run finished : 10/03/2008 15:15:21

View file

@ -0,0 +1,26 @@
Test run started : 13/01/2009 14:31:43
----------------------------------------------------------------
TestIntersection
TEST START : TestIntersection
ITEM Assertion OK : test1 Application.Intersect( Range('A2:D10'), Range('C4:E6'))
ITEM Assertion OK : test2 Application.Intersect( Range('A2:D10'), Range('A4:G10'))
ITEM Assertion OK : test3 Application.Intersect( Range('A2:c8,d2:f8,g2:i8'), Range('A4:G10'))
ITEM Assertion OK : test4 Application.Intersect( Range('A4:G10'), Range('A2:c8,d2:f8,g2:i8'))
ITEM Assertion OK : test5 Application.Intersect( Range('A2:c8,d2:f8,g2:i8'), Range('g4:i10,A4:G10'))
ITEM Assertion OK : test6 Application.Intersect( Range('g4:i10,A4:G10'), Range('A2:c8,d2:f8,g2:i8'))
ITEM Assertion OK : test7 Application.Intersect( Range('a2:d10,b5:e10'), Range('a5:i10'))
ITEM Assertion OK : test8 Application.Intersect( Range('a2:c8,d2:f8'), Range('b6:e9,a6:f9'))
ITEM Assertion OK : test9 Application.Intersect( Range('a2:c8,e2:f8'), Range('b6:e9,a6:f9'))
ITEM Assertion OK : test10 Application.Intersect( Range('a1:a3,c1:c3'), Range('a2:c3'))
ITEM Assertion OK : test11 Application.Intersect( Range('a1:a3,b1:b3'), Range('a2:c3'))
ITEM Assertion OK : test12 Application.Intersect( Range('a2:d5,b3:f7,c1:g4'), Range('b2:e6'))
ITEM Assertion OK : test13 Range(" a2:d10,b5:e10,g13:j32 "), Range(" a5:i10,b6:e9 "), Range("b2:r5,f10:h19")
Test Results
============
Tests passed: 13
Tests failed: 0
END 'TestIntersection
TEST OK : TestIntersection
Test run finished : 13/01/2009 14:31:43

View file

@ -0,0 +1,17 @@
Test run started : 13/01/2009 14:32:16
----------------------------------------------------------------
TestUnion
TEST START : TestUnion
ITEM Assertion OK : test1Application.Range('A2:D10'), Range('C4:E6')
ITEM Assertion OK : test2Application.Range('A2:D5,a3:d4'), Range('A4:G10')
ITEM Assertion OK : test3Application.Range('A4:G10,A1:B6'), Range('A2:D5,A3:D4')
ITEM Assertion OK : test4Application.Range('A5:D10'), Range('B5:E10')
Test Results
============
Tests passed: 4
Tests failed: 0
END 'TestUnion
TEST OK : TestUnion
Test run finished : 13/01/2009 14:32:16

View file

@ -0,0 +1,47 @@
Test run started : 24/09/2008 10:58:18
----------------------------------------------------------------
TestAddress
TEST START : TestAddress
ITEM Assertion OK : test1: res = (aboo = '')
ITEM Assertion OK : test 2: res = (aboo = 'fiddlesticks')
ITEM Assertion OK : test 3: res = ('' = aboo)
ITEM Assertion OK : test 4: res = ('fiddlesticks' = aboo )
ITEM Assertion OK : test 5: res = (testString = '')
ITEM Assertion OK : test 6: res = (testString = 'fiddlesticks')
ITEM Assertion OK : test 7: res = ('' = testString)
ITEM Assertion OK : test 8: res = ('fiddlesticks' = testString )
ITEM Assertion OK : test 9: res = ( aboo < " )
ITEM Assertion OK : test 10: res = ( testString < " )
ITEM Assertion OK : test 11: res = ( aboo > " )
ITEM Assertion OK : test 12: res = ( testString > " )
ITEM Assertion OK : test 13: res = ( aboo <> '' )
ITEM Assertion OK : test 14: res = ( testString <> '' )
ITEM Assertion OK : test 15: res = (aboo = something/14)
ITEM Assertion OK : test 16: res = something + 'string'
ITEM Assertion OK : test 17: res = something & 'string'
ITEM Assertion OK : test 18: res = something MOD 10 )
ITEM Assertion OK : test 19: res = something AND 1 )
ITEM Assertion OK : test 20: res = something AND 0 )
ITEM Assertion OK : test 21: res = something OR 12)
ITEM Assertion OK : test 22: res = something OR 0 )
ITEM Assertion OK : test 23: res = something XOR 0 )
ITEM Assertion OK : test 24: res = something XOR 1 )
ITEM Assertion OK : test 25: res = something EQV 0 )
ITEM Assertion OK : test 26: res = something EQV 1 )
ITEM Assertion OK : test 27: res = something IMP 0 )
ITEM Assertion OK : test 28: res = something IMP 1 )
ITEM Assertion OK : test 29: res = something IMP 14 )
ITEM Assertion OK : test 30: res = NOT something )
ITEM Assertion OK : test 31: res = something + 12 )
ITEM Assertion OK : test 32: res = something - 12 )
ITEM Assertion OK : test 33: res = -something )
ITEM Assertion OK : test 34: res = something * 12 )
Test Results
============
Tests passed: 34
Tests failed: 0
END 'TestAddress
TEST OK : TestAddress
Test run finished : 24/09/2008 10:58:20

View file

@ -0,0 +1,46 @@
Test run started : 05/29/2008 02:55:00 PM
----------------------------------------------------------------
TEST START : Window-Issue
ITEM Assertion OK : Window.Left is: 0 (Test only applies to maximized Window)
ITEM Assertion OK : Window.Top is: 21 (Test only applies to maximized Window)
ITEM Assertion OK : Window.Width is: 1280 (Test only applies to maximized Window)
ITEM Assertion OK : Window.Height is: 752 (Test only applies to maximized Window)
ITEM Assertion OK : Window.ScrollColumn is: 100
ITEM Assertion OK : Window.ScrollColumn is: 1
ITEM Assertion OK : Window.ScrollRow is: 100
ITEM Assertion OK : Window.ScrollRow is: 1
ITEM Assertion OK : Window.LargeScroll(Down): ScrollRow is: 94 (Test may only apply to maximized Window)
ITEM Assertion OK : Window.LargeScroll(Up): ScrollRow is: 1
ITEM Assertion OK : Window.LargeScroll(ToRight): ScrollColumn is: 58 (Test may only apply to maximized Window)
ITEM Assertion OK : Window.LargeScroll(ToLeft): ScrollColumn is: 1
ITEM Assertion OK : Window.SmallScroll(ToRight): ScrollColumn is: 4 (Test may only apply to maximized Window)
ITEM Assertion OK : Window.SmallScroll(ToLeft): ScrollColumn is: 1
ITEM Assertion OK : Window.DisplayWorkBookTabs is: False
ITEM Assertion OK : Window.DisplayWorkBookTabs is: True
ITEM Assertion OK : Window.DisplayVerticalScrollBar is: True
ITEM Assertion OK : Window.DisplayVerticalScrollBar is: False
ITEM Assertion OK : Window.DisplayHorizontalScrollBar is: False
ITEM Assertion OK : Window.DisplayHorizontalScrollBar is: True
ITEM Assertion OK : Window.DisplayHeadings is: False
ITEM Assertion OK : Window.DisplayHeadings is: True
ITEM Assertion OK : Window.DisplayOutline is: False
ITEM Assertion OK : Window.DisplayOutline is: True
ITEM Assertion OK : Window.Visible is: False
ITEM Assertion OK : Window.Visible is: True
ITEM Assertion OK : Window.Caption is: MyCaption
ITEM Assertion OK : Pane.ScrollColumn is: 100
ITEM Assertion OK : Pane.ScrollColumn is: 1
ITEM Assertion OK : Pane.ScrollRow is: 100
ITEM Assertion OK : Pane.ScrollRow is: 1
ITEM Assertion OK : Pane.LargeScroll(Down): ScrollRow is: 94 (Test may only apply to maximized Window)
ITEM Assertion OK : Pane.LargeScroll(Up): ScrollRow is: 1
ITEM Assertion OK : Pane.LargeScroll(ToRight): ScrollColumn is: 58 (Test may only apply to maximized Window)
ITEM Assertion OK : Pane.LargeScroll(ToLeft): ScrollColumn is: 1
ITEM Assertion OK : Pane.SmallScroll(ToRight): ScrollColumn is: 4 (Test may only apply to maximized Window)
ITEM Assertion OK : Pane.SmallScroll(ToLeft): ScrollColumn is: 1
ITEM Assertion OK : Window Selection: $A$2:$D$5
ITEM Assertion OK : ActiveSheet name of Window: Sheet1
ITEM Assertion OK : Window ActiveCell: $A$1
END 'Window-Issue' Symbol
TEST OK : Window-Issue
Test run finished : 05/29/2008 02:55:01 PM

View file

@ -0,0 +1,8 @@
Test run started : 05/29/2008 02:25:58 PM
BEGIN Bytearray To String
TEST START : Test the conversion between bytearray and string
ITEM Assertion OK : The number of byte is:6
ITEM Assertion OK : the return string is: abc
TEST OK : Test the conversion between bytearray and string
END Bytearray To String
Test run finished : 05/29/2008 02:25:58 PM

View file

@ -0,0 +1,9 @@
Test run started : 01/24/2008 01:24:50 PM
BEGIN DateSerial
TEST START : Test DateSerial function
ITEM Assertion OK : the return date is: 06/15/1999
ITEM Assertion OK : the return date is: 06/15/1999
ITEM Assertion OK : the return date is: 06/15/1999
TEST OK : Test DateSerial function
END DateSerial
Test run finished : 01/24/2008 01:24:50 PM

View file

@ -0,0 +1,8 @@
Test run started : 01/24/2008 01:24:41 PM
BEGIN DateValue
TEST START : Test DateValue function
ITEM Assertion OK : the return date is: 02/12/1969
ITEM Assertion OK : the return date is: 01/21/2008
TEST OK : Test DateValue function
END DateValue
Test run finished : 01/24/2008 01:24:41 PM

View file

@ -0,0 +1,36 @@
Test run started : 20080918 11:35:34
BEGIN Format
TEST START : Test Predefined_Number_Format_Sample function
ITEM Assertion OK : General Number: 562486.2356
ITEM Assertion OK : Fixed: 0.20
ITEM Assertion OK : Standard: 562,486.24
ITEM Assertion OK : Percent: 75.21%
ITEM Assertion OK : Scientific: 5.62E+05
ITEM Assertion OK : Scientific: -3.46E+03
ITEM Assertion OK : Yes/No: No
ITEM Assertion OK : Yes/No: Yes
ITEM Assertion OK : True/False: False
ITEM Assertion OK : True/False: True
ITEM Assertion OK : On/Off: Off
ITEM Assertion OK : On/Off: On
TEST OK : Test Predefined_Number_Format_Sample function
TEST START : Test Custom_Number_Format_Sample function
ITEM Assertion OK : 00.0000: 23.6750
ITEM Assertion OK : 00.00: 23.68
ITEM Assertion OK : 00000: 02658
ITEM Assertion OK : 00.00: 2658.00
ITEM Assertion OK : ##.####: 23.675
ITEM Assertion OK : ##.##: 23.68
ITEM Assertion OK : #,###.##: 12,345.25
ITEM Assertion OK : ##.00%: 25.00%
ITEM Assertion OK : #,###: 1,000,000
ITEM Assertion OK : ######E-###: 109838E-5
ITEM Assertion OK : $#,###.##: $2,345.25
ITEM Assertion OK : ##.###\%: .25%
TEST OK : Test Custom_Number_Format_Sample function
TEST START : Test Custom_Text_Format_Sample function
ITEM Assertion OK : <: vba
ITEM Assertion OK : >: VBA
TEST OK : Test Custom_Text_Format_Sample function
END Format
Test run finished : 20080918 11:35:34

View file

@ -0,0 +1,77 @@
Test run started : 07/21/2008 02:00:06 PM
BEGIN PageSetup
TEST START : Sheet_PrintArea
ITEM Assertion OK : PrintArea has changed as expected
TEST OK : Sheet_PrintArea
TEST START : Test margins (no headers)
ITEM Assertion OK : PageSetup.LeftMargin set/get
ITEM Assertion OK : PageSetup.RightMargin set/get
ITEM Assertion OK : PageSetup.TopMargin set/get
ITEM Assertion OK : PageSetup.BottomMargin set/get
Verify that page margins on sheet 1 are all 0.5inch
TEST OK : Test margins (no headers)
TEST START : Test margins (headers)
ITEM Assertion OK : PageSetup.HeaderMargin set/get
ITEM Assertion OK : PageSetup.FooterMargin set/get
ITEM Assertion OK : PageSetup.LeftMargin set/get
ITEM Assertion OK : PageSetup.LeftMargin set/get
Verify that top/bottom/header/footer page margins on sheet 2 are all 0.5inch
TEST OK : Test margins (headers)
TEST START : Test header/footer text
ITEM Assertion OK : PageSetup.LeftHeader set
ITEM Assertion OK : PageSetup.LeftHeader set/get
ITEM Assertion OK : PageSetup.CenterHeader set
ITEM Assertion OK : PageSetup.CenterHeader set/get
ITEM Assertion OK : PageSetup.RightHeader set
ITEM Assertion OK : PageSetup.RightHeader set/get
ITEM Assertion OK : PageSetup.LeftFooter set
ITEM Assertion OK : PageSetup.LeftFooter set/get
ITEM Assertion OK : PageSetup.CenterFooter set
ITEM Assertion OK : PageSetup.CenterFooter set/get
ITEM Assertion OK : PageSetup.RightFooter set
ITEM Assertion OK : PageSetup.RightFooter set/get
Verify that headers on sheet 2 are Ready,to,go
Verify that footers on sheet 2 are This,now,Works
TEST OK : Test header/footer text
TEST START : Test zoom
ITEM Assertion OK : PageSetup.Zoom set
ITEM Assertion OK : PageSetup.Zoom set/get
Verify that sheet 1 zoom is 10%
TEST OK : Test zoom
TEST START : Test orientation
ITEM Assertion OK : PageSetup.Zoom set
ITEM Assertion OK : PageSetup.Orientation set/get
Verify that sheet 1 orientation is now landscape
TEST OK : Test orientation
TEST START : Test order
ITEM Assertion OK : PageSetup.Order get
ITEM Assertion OK : PageSetup.Order set/get
Verify that order on sheet 1 is now over, then down.
TEST OK : Test order
TEST START : Test first page number
ITEM Assertion OK : PageSetup.FirstPageNumber get
ITEM Assertion OK : PageSetup.FirstPageNumber set/get
Verify that first page number on sheet 1 is now 2.
TEST OK : Test first page number
TEST START : Test center vertically
ITEM Assertion OK : PageSetup.CenterVertically get
ITEM Assertion OK : PageSetup.CenterVertically set/get
Verify that CenterVertically on sheet 1 is now true.
TEST OK : Test center vertically
TEST START : Test center horizontally
ITEM Assertion OK : PageSetup.CenterHorizontally get
ITEM Assertion OK : PageSetup.CenterHorizontally set/get
Verify that CenterHorizontally on sheet 1 is now true.
TEST OK : Test center horizontally
TEST START : Test FitToPagesTall
ITEM Assertion OK : PageSetup.FitToPagesTall set/get
TEST OK : Test FitToPagesTall
TEST START : Test FitToPagesWide
ITEM Assertion OK : PageSetup.FitToPagesWide set/get
TEST OK : Test FitToPagesWide
TEST START : Test PrintHeadings
ITEM Assertion OK : PageSetup.PrintHeadings set/get
ITEM Assertion OK : PageSetup.PrintHeadings set/get
TEST OK : Test PrintHeadings
END PageSetup
Test run finished : 07/21/2008 02:00:07 PM

View file

@ -0,0 +1,11 @@
Test run started : 12/10/2007 11:26:43 AM
BEGIN Partition
TEST START : Test Partition function
ITEM Assertion OK : the number 20 occurs in the range:20:24
ITEM Assertion OK : the number 20 occurs in the range: 20: 20
ITEM Assertion OK : the number 120 occurs in the range:100:
ITEM Assertion OK : the number -5 occurs in the range: : -1
ITEM Assertion OK : the number 2 occurs in the range: 2: 3
TEST OK : Test Partition function
END Partition
Test run finished : 12/10/2007 11:26:43 AM

View file

@ -0,0 +1,16 @@
Test run started : 20080619 17:14:57
----------------------------------------------------------------
ShowDetail-Issue
TEST START : ShowDetail-Issue
ITEM Assertion OK : Range.ShowDetail is True
ITEM Assertion OK : Range.ShowDetail is False
END 'ShowDetail-Issue' Symbol
TEST OK : ShowDetail-Issue
----------------------------------------------------------------
RangeMerged-Issue
TEST START : RangeMerged-Issue
ITEM Assertion OK : Range.RangeMerged is $F$2:$H$5
ITEM Assertion OK : The first address of Range.RangeMerged is $F$2
END 'RangeMerged-Issue' Symbol
TEST OK : RangeMerged-Issue
Test run finished : 20080619 17:14:57

View file

@ -0,0 +1,14 @@
Test run started : 09/05/2008 10:21:46 AM
BEGIN Replace
TEST START : Test Replace function
ITEM Assertion OK : common string:aefefdBc
ITEM Assertion OK : expression string:aefefdef
ITEM Assertion OK : binanary compare:aefefdBc
ITEM Assertion OK : text compare:aefefdef
ITEM Assertion OK : text compare:aefefdef
ITEM Assertion OK : start = 3:cefdBc
ITEM Assertion OK : count = 2: aefefdBc
ITEM Assertion OK : start = 1, count = 0, not support in Unix: abcbcdBc
TEST OK : Test Replace function
END Replace
Test run finished : 09/05/2008 10:21:47 AM

View file

@ -0,0 +1,62 @@
Test run started : 05/29/2008 02:51:22 PM
BEGIN String Plus Double
TEST START : double = string + double
The next compute raises error: s = null, d = null, r = s + d
ITEM Assertion OK : s = null, d = null, r = s + d .The result is: -1
ITEM Assertion OK : s = null, d = null, r = s & d .The result is: 0
The next compute raises error: s = null, d = 20, r = s + d
ITEM Assertion OK : s = null, d = 20, r = s + d .The result is: -1
ITEM Assertion OK : s = null, d = 20, r = s & d .The result is: 20
ITEM Assertion OK : s = '10', d = null, r = s + d .The result is: 10
ITEM Assertion OK : s = '10', d = null, r = s & d .The result is: 100
ITEM Assertion OK : s = '10', d = 20, r = s + d .The result is: 30
ITEM Assertion OK : s = '10', d = 20, r = s & d .The result is: 1020
The next compute raises error: s = 'abc', d = null, r = s + d
ITEM Assertion OK : s = 'abc', d = null, r = s + d .The result is: -1
The next compute raises error: s = 'abc', d = null, r = s & d
ITEM Assertion OK : s = 'abc', d = null, r = s & d .The result is: -1
The next compute raises error: s = 'abc', d = 20, r = s + d
ITEM Assertion OK : s = 'abc', d = 20, r = s + d .The result is: -1
The next compute raises error: s = 'abc', d = 20, r = s & d
ITEM Assertion OK : s = 'abc', d = 20, r = s & d .The result is: -1
TEST OK : double = string + double
TEST START : string = string + double
The next compute raises error: s = null, d = null, r = s + d
ITEM Assertion OK : s = null, d = null, r = s + d .The result is: -1
ITEM Assertion OK : s = null, d = null, r = s & d .The result is: 0
The next compute raises error: s = null, d = 20, r = s + d
ITEM Assertion OK : s = null, d = 20, r = s + d .The result is: -1
ITEM Assertion OK : s = null, d = 20, r = s & d .The result is: 20
ITEM Assertion OK : s = '10', d = null, r = s + d .The result is: 10
ITEM Assertion OK : s = '10', d = null, r = s & d .The result is: 100
ITEM Assertion OK : s = '10', d = 20, r = s + d .The result is: 30
ITEM Assertion OK : s = '10', d = 20, r = s & d .The result is: 1020
The next compute raises error: s = 'abc', d = null, r = s + d
ITEM Assertion OK : s = 'abc', d = null, r = s + d .The result is: -1
ITEM Assertion OK : s = 'abc', d = null, r = s & d .The result is: abc0
The next compute raises error: s = 'abc', d = 20, r = s + d
ITEM Assertion OK : s = 'abc', d = 20, r = s + d .The result is: -1
ITEM Assertion OK : s = 'abc', d = 20, r = s & d .The result is: abc20
TEST OK : string = string + double
TEST START : double = string + string
The next compute raises error: s = null, d = null, r = s + d
ITEM Assertion OK : s = null, d = null, r = s + d .The result is: -1
The next compute raises error: s = null, d = null, r = s & d
ITEM Assertion OK : s = null, d = null, r = s & d .The result is: -1
ITEM Assertion OK : s = null, d = 20, r = s + d .The result is: 20
ITEM Assertion OK : s = null, d = 20, r = s & d .The result is: 20
ITEM Assertion OK : s = '10', d = null, r = s + d .The result is: 10
ITEM Assertion OK : s = '10', d = null, r = s & d .The result is: 10
ITEM Assertion OK : s = '10', d = 20, r = s + d .The result is: 1020
ITEM Assertion OK : s = '10', d = 20, r = s & d .The result is: 1020
The next compute raises error: s = 'abc', d = null, r = s + d
ITEM Assertion OK : s = 'abc', d = null, r = s + d .The result is: -1
The next compute raises error: s = 'abc', d = null, r = s & d
ITEM Assertion OK : s = 'abc', d = null, r = s & d .The result is: -1
The next compute raises error: s = 'abc', d = 20, r = s + d
ITEM Assertion OK : s = 'abc', d = 20, r = s + d .The result is: -1
The next compute raises error: s = 'abc', d = 20, r = s & d
ITEM Assertion OK : s = 'abc', d = 20, r = s & d .The result is: -1
TEST OK : double = string + string
END String Plus Double
Test run finished : 05/29/2008 02:51:22 PM

View file

@ -0,0 +1,41 @@
Test run started : 20080922 11:18:57
BEGIN Window2
TEST START : Test Window.SplitRow
ITEM Assertion OK : Test SplitColumn: 2 (Test only applies to maximized Window and at least has 800*600 solotion)
ITEM Assertion OK : Test SplitRow: 2 (Test only applies to maximized Window and at least has 800*600 solotion)
ITEM Assertion OK : Test SplitVertical: 242.465788476212
ITEM Assertion OK : Test SplitHorizontal: 242.465788476212
ITEM Assertion OK : Test SplitRow: 4 (Test only applies to maximized Window and at least has 800*600 solotion)
ITEM Assertion OK : Test SplitColumn: 3 (Test only applies to maximized Window and at least has 800*600 solotion)
ITEM Assertion OK : Test SplitColumn: 0
ITEM Assertion OK : Test SplitRow: 0
TEST OK : Test Window.SplitRow
TEST START : Test Window.DisplayGridlines
ITEM Assertion OK : Test gridlines are on
ITEM Assertion OK : Test gridlines are off
TEST OK : Test Window.DisplayGridlines
TEST START : Test Window.DisplayHeadings
ITEM Assertion OK : Test Headings are on
ITEM Assertion OK : Test Headings are off
TEST OK : Test Window.DisplayHeadings
TEST START : Test Window.Visibility
ITEM Assertion OK : Window is visible
ITEM Assertion OK : Window is not visible
TEST OK : Test Window.Visibility
TEST START : Test Window.FreezePanes
ITEM Assertion OK : Test no panes frozen
ITEM Assertion OK : Test panes frozen at center
ITEM Assertion OK : Test panes frozen at split
TEST OK : Test Window.FreezePanes
TEST START : Test Window.View
TEST OK : Test Window.View
TEST START : Test Window.Zoom
ITEM Assertion OK : Test zoom=100%
ITEM Assertion OK : Test zoom=150%
TEST OK : Test Window.Zoom
TEST START : Test Windows.Count
ITEM Assertion OK : Windows Count: 1
ITEM Assertion OK : Application.Windows Count: 1
TEST OK : Test Windows.Count
END Window2
Test run finished : 20080922 11:18:58

Some files were not shown because too many files have changed in this diff Show more