SOL9 2.0 Class: ExcelWorkBooks

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * ExcelWorkBooks.h 
 * Copyright (c) 2012 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


//2010/05/05

#pragma once

#include <sol/office/ExcelWorkBook.h>

namespace SOL {

class ExcelWorkBooks :public Object {

private:
    Excel::WorkbooksPtr workBooks;

public:
    ExcelWorkBooks(Excel::WorkbooksPtr books)
        :workBooks(books)
    {
    }

public:
    ~ExcelWorkBooks()
    {
        workBooks = NULL;
    }

public:    

    Excel::_ApplicationPtr getApplication ( )
    {
        return workBooks->GetApplication ( );
    }
    
    enum Excel::XlCreator getCreator ( )
    {
        return workBooks->GetCreator ( );
    }
    
    IDispatchPtr getParent ( )
    {
        return workBooks->GetParent ( );
    }
    
    Excel::_WorkbookPtr add (
            const _variant_t & vtemplate = vtMissing,
            long lcid = 0 )
    {
        return workBooks->Add (
                vtemplate,
                lcid );
    }
    
    HRESULT close (
            long lcid = 0 )
    {
        HRESULT hr = S_OK;
        if (FAILED(hr = workBooks->Close (
                lcid )) ) {
            throw hr;
        } 
        return hr;
    }
    
    long getCount ( )
    {
        return workBooks->GetCount ( );
    }
    
    Excel::_WorkbookPtr GetItem (
            const _variant_t & index )
    {
        return workBooks->GetItem (
                index );
    }
    
    IUnknownPtr getNewEnum ( )
    {
        return workBooks->Get_NewEnum ( );
    }
    
    Excel::_WorkbookPtr open (
            _bstr_t filename,
            const _variant_t & updateLinks = vtMissing,
            const _variant_t & readOnly = vtMissing,
            const _variant_t & format = vtMissing,
            const _variant_t & password = vtMissing,
            const _variant_t & writeResPassword = vtMissing,
            const _variant_t & ignoreReadOnlyRecommended = vtMissing,
            const _variant_t & origin = vtMissing,
            const _variant_t & delimiter = vtMissing,
            const _variant_t & editable = vtMissing,
            const _variant_t & notify = vtMissing,
            const _variant_t & converter = vtMissing,
            const _variant_t & addToMru = vtMissing,
            long lcid = 0 )
    {
        return workBooks->_Open (
                filename,
                updateLinks,
                readOnly,
                format,
                password,
                writeResPassword,
                ignoreReadOnlyRecommended,
                origin,
                delimiter,
                editable,
                notify,
                converter,
                addToMru,
                lcid );
    }
    
    HRESULT __openText (
            _bstr_t filename,
            const _variant_t & origin,
            const _variant_t & startRow,
            const _variant_t & dataType,
            enum Excel::XlTextQualifier textQualifier,
            const _variant_t & consecutiveDelimiter = vtMissing,
            const _variant_t & tab = vtMissing,
            const _variant_t & semicolon = vtMissing,
            const _variant_t & comma = vtMissing,
            const _variant_t & space = vtMissing,
            const _variant_t & other = vtMissing,
            const _variant_t & otherChar = vtMissing,
            const _variant_t & fieldInfo = vtMissing,
            const _variant_t & textVisualLayout = vtMissing,
            long lcid = 0 )
    {
        HRESULT hr = S_OK;
        if (FAILED(hr = workBooks->__OpenText (
                filename,
                origin,
                startRow,
                dataType,
                textQualifier,
                consecutiveDelimiter,
                tab,
                semicolon,
                comma,
                space,
                other,
                otherChar,
                fieldInfo,
                textVisualLayout,
                lcid )) ) {
            throw hr;
        } 
        return hr;
    }
    
    Excel::_WorkbookPtr getDefault (
            const _variant_t & index )
    {
        return workBooks->Get_Default (
                index );
    }
    
    HRESULT _openText (
            _bstr_t filename,
            const _variant_t & origin,
            const _variant_t & startRow,
            const _variant_t & dataType,
            enum Excel::XlTextQualifier textQualifier,
            const _variant_t & consecutiveDelimiter = vtMissing,
            const _variant_t & tab = vtMissing,
            const _variant_t & semicolon = vtMissing,
            const _variant_t & comma = vtMissing,
            const _variant_t & space = vtMissing,
            const _variant_t & other = vtMissing,
            const _variant_t & otherChar = vtMissing,
            const _variant_t & fieldInfo = vtMissing,
               const _variant_t & textVisualLayout = vtMissing,
            const _variant_t & decimalSeparator = vtMissing,
            const _variant_t & thousandsSeparator = vtMissing,
            long lcid = 0 )
    {
        HRESULT hr = S_OK;
        if (FAILED(hr = workBooks->_OpenText (
                filename,
                origin,
                startRow,
                dataType,
                textQualifier,
                consecutiveDelimiter,
                tab,
                semicolon,
                comma,
                space,
                other,
                otherChar,
                fieldInfo,
                   textVisualLayout,
                decimalSeparator,
                thousandsSeparator,
                lcid )) ) {
            throw hr;
        } 
        return hr;
    }
    
    Excel::_WorkbookPtr open (
            _bstr_t filename,
            const _variant_t & updateLinks = vtMissing,
            const _variant_t & readOnly = vtMissing,
            const _variant_t & format = vtMissing,
            const _variant_t & password = vtMissing,
            const _variant_t & writeResPassword = vtMissing,
            const _variant_t & ignoreReadOnlyRecommended = vtMissing,
            const _variant_t & origin = vtMissing,
            const _variant_t & delimiter = vtMissing,
            const _variant_t & editable = vtMissing,
            const _variant_t & notify = vtMissing,
            const _variant_t & converter = vtMissing,
            const _variant_t & addToMru = vtMissing,
            const _variant_t & local = vtMissing,
            const _variant_t & corruptLoad = vtMissing,
            long lcid = 0 )
    {
        return workBooks->Open (
                filename,
                updateLinks,
                readOnly,
                format,
                password,
                writeResPassword,
                ignoreReadOnlyRecommended,
                origin,
                delimiter,
                editable,
                notify,
                converter,
                addToMru,
                local,
                corruptLoad,
                lcid );
    }
    
    HRESULT openText (
            _bstr_t filename,
            const _variant_t & origin,
            const _variant_t & startRow,
            const _variant_t & dataType,
            enum Excel::XlTextQualifier textQualifier,
            const _variant_t & consecutiveDelimiter = vtMissing,
            const _variant_t & tab = vtMissing,
            const _variant_t & semicolon = vtMissing,
            const _variant_t & comma = vtMissing,
            const _variant_t & space = vtMissing,
            const _variant_t & other = vtMissing,
            const _variant_t & otherChar = vtMissing,
            const _variant_t & fieldInfo = vtMissing,
            const _variant_t & textVisualLayout = vtMissing,
            const _variant_t & decimalSeparator = vtMissing,
            const _variant_t & thousandsSeparator = vtMissing,
            const _variant_t & trailingMinusNumbers = vtMissing,
            const _variant_t & local = vtMissing,
            long lcid = 0 )
    {
        HRESULT hr = S_OK;
        if (FAILED(hr = workBooks->OpenText (
                filename,
                origin,
                startRow,
                dataType,
                textQualifier,
                consecutiveDelimiter,
                tab,
                semicolon,
                comma,
                space,
                other,
                otherChar,
                fieldInfo,
                textVisualLayout,
                decimalSeparator,
                thousandsSeparator,
                trailingMinusNumbers,
                local,
                lcid )) ) {
            throw hr;
        } 
        return hr;
    }
    
    Excel::_WorkbookPtr openDatabase (
            _bstr_t filename,
            const _variant_t & commandText = vtMissing,
            const _variant_t & commandType = vtMissing,
            const _variant_t & backgroundQuery = vtMissing,
            const _variant_t & importDataAs = vtMissing )
    {
        return workBooks->OpenDatabase (
                filename,
                commandText,
                commandType,
                backgroundQuery,
                importDataAs );
    }
    
    HRESULT checkOut (
            _bstr_t filename )
    {
        HRESULT hr = S_OK;
        if (FAILED(hr = workBooks->CheckOut (
                filename )) ) {
            throw hr;
        } 
        return hr;
    }
    
    VARIANT_BOOL canCheckOut (
            _bstr_t filename )
    {
        return workBooks->CanCheckOut (
                filename );
    }
    
    Excel::_WorkbookPtr _openXML (
            _bstr_t filename,
            const _variant_t & stylesheets = vtMissing )
    {
        return workBooks->_OpenXML (
                filename,
                stylesheets );
    }
    
    Excel::_WorkbookPtr openXML (
            _bstr_t filename,
            const _variant_t & stylesheets = vtMissing,
            const _variant_t & loadOption = vtMissing )
    {
        return workBooks->OpenXML (
                filename,
                stylesheets,
                loadOption );
    }
};

}

Last modified: 16 May 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.