ďťż
 
VisualFoxPro a OpenOffice ďťż
 
VisualFoxPro a OpenOffice
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

VisualFoxPro a OpenOffice



- 13-08-2006 00:22
VisualFoxPro a OpenOffice
  Czy scalc.exe z OO może byc uruchomiony jako server COM tak jak Excel do
tworzenia arkuszy z poziomu Fox'a ? z wykorzystaniem VBA ?
czyli co wpisać w GetCOMInstance ?

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





Zenon Karol Bednarz - 13-08-2006 00:22

  2 Załącznik(i) wrote:

> Czy scalc.exe z OO może byc uruchomiony jako server COM tak jak Excel do
> tworzenia arkuszy z poziomu Fox'a ? z wykorzystaniem VBA ?
> czyli co wpisać w GetCOMInstance ?
>
Można przesyłam maila jakiego dawno temu zamieściłem na podone pytanie na
tej grupie
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
W załączeniu przesyłam program libOOo.prg zawierający bardzo użyteczne
funkcje
do obsługi OpenOffice z poziomu FOX.
program należy wywołać SET PROCEDURE TO libOOo ADDITIVE a następnie
korzystać
z funkcji.
Przesyłam również program rap_kon01.prg który działa w programie
produkcyjnym
generując raport w OO.
Oczywiście program ten u Ciebie nie będzie działał z uwagi na brak
koniecznego
otoczenia lecz stanowić może przykład jak wykorzystać w/w funkcje.

W internecie jest sporo przykładów linków nie podam bo zapomniałem robiłem
to
już bardzo dawno temu .Wystarczy hasło w Goglach.
Najczęściej przykłady to makra w OO i po ich analizie należy zwykle metodą
prób i błędów przepisać to na FOX.

Makra można obejrzeć przez edytor makr w OO.

++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++
Uwaga rozszerzenie programów zamienione z .prg na .txt
Z rozszerzeniem .prg były problemy z programami sprawdzającymi maile.




- 16-08-2006 01:26

  dziękuję

Zenon Karol Bednarz <zkb@lama.net.pl> napisał(a):

> --nextPart2915305.mFNvdNGT96
> Content-Type: text/plain; charset=iso-8859-2
> Content-Transfer-Encoding: 8Bit
>
> wrote:
>
> > Czy scalc.exe z OO może byc uruchomiony jako server COM tak jak Excel do
> > tworzenia arkuszy z poziomu Fox'a ? z wykorzystaniem VBA ?
> > czyli co wpisać w GetCOMInstance ?
> >
> Można przesyłam maila jakiego dawno temu zamieściłem na podone pytanie na
> tej grupie
> ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
> W załączeniu przesyłam program libOOo.prg zawierający bardzo użyteczne
> funkcje
> do obsługi OpenOffice z poziomu FOX.
> program należy wywołać SET PROCEDURE TO libOOo ADDITIVE a następnie
> korzystać
> z funkcji.
> Przesyłam również program rap_kon01.prg który działa w programie
> produkcyjnym
> generując raport w OO.
> Oczywiście program ten u Ciebie nie będzie działał z uwagi na brak
> koniecznego
> otoczenia lecz stanowić może przykład jak wykorzystać w/w funkcje.
>
> W internecie jest sporo przykładów linków nie podam bo zapomniałem robiłem
> to
> już bardzo dawno temu .Wystarczy hasło w Goglach.
> Najczęściej przykłady to makra w OO i po ich analizie należy zwykle metodą
> prób i błędów przepisać to na FOX.
>
> Makra można obejrzeć przez edytor makr w OO.
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++
> Uwaga rozszerzenie programów zamienione z .prg na .txt
> Z rozszerzeniem .prg były problemy z programami sprawdzającymi maile.
>
>
>
>
> --nextPart2915305.mFNvdNGT96
> Content-Type: text/plain; name="libooo.txt"
> Content-Transfer-Encoding: 8Bit
> Content-Disposition: attachment; filename="libooo.txt"
>
> *
> * Library of routines to manipulate OpenOffice.org.
> *
> *
>
>
> *################################################# ###########
> * Public API
> * High level routines.
> *################################################# ###########
>
>
> * Return .T. if OpenOffice.org is installed.
> * Return .F. if not installed.
> FUNCTION OOoIsInstalled()
> LOCAL oServiceManager
> oServiceManager = .NULL.
>
> LOCAL cOldErrHandler
> cOldErrHandler = ON( "ERROR" )
> ON ERROR = DoNothing__ErrorHandler( ERROR(), MESSAGE(), LINENO(), SYS
(16), PRO
> GRAM(), SYS(2018) )
> oServiceManager = .f.
> oServiceManager = OOoGetServiceManager()
> ON ERROR &cOldErrHandler
>
> * If we could create a Service Manager,
> * then OpenOffice.org must be installed.
> IF VARTYPE(oServiceManager)<>'O'
> RETURN .F.
> ENDIF
> *RETURN NOT ISNULL( oServiceManager )
> RETURN .T.
> ENDFUNC
>
>
>
>
> * Easy way to create a new Draw document.
> FUNCTION OOoCreateNewDrawDocument()
> LOCAL oDrawDoc
> oDrawDoc = OOoOpenURL( "private:factory/sdraw" )
> RETURN oDrawDoc
> ENDFUNC
>
>
> * Easy way to create a new Writer document.
> FUNCTION OOoCreateNewWriterDocument()
> LOCAL oWriterDoc
> oWriterDoc = OOoOpenURL( "private:factory/swriter" )
> RETURN oWriterDoc
> ENDFUNC
>
>
> * Easy way to create a new Calc document.
> FUNCTION OOoCreateNewCalcDocument()
> LOCAL oCalcDoc
> oCalcDoc = OOoOpenURL( "private:factory/scalc" )
> RETURN oCalcDoc
> ENDFUNC
>
>
> * Easy way to create a new Impress document.
> FUNCTION OOoCreateNewImpressDocument()
> LOCAL oImpressDoc
> oImpressDoc = OOoOpenURL( "private:factory/simpress" )
> RETURN oImpressDoc
> ENDFUNC
>
>
>
> FUNCTION OOoOpenFile( cFilename )
> LOCAL cURL
> cURL = OOoConvertToURL( cFilename )
>
> LOCAL oDoc
> oDoc = OOoOpenURL( cURL )
> RETURN oDoc
> ENDFUNC
>
>
> PROCEDURE OOoTerminateProgram()
> LOCAL oDesktop
> oDesktop = OOoGetDesktop()
> oDesktop.Terminate()
>
> =__OOoReleaseCachedVars()
> ENDPROC
>
>
> * Convert a local filename to an OOo URL.
> FUNCTION OOoConvertToURL( cFilename )
> * Ensure leading slash.
> IF LEFT( cFilename, 1 ) != "/"
> cFileName = "/" + cFileName
> ENDIF
>
> LOCAL cURL
> cURL = CHRTRAN( cFilename, "\", "/" ) && change backslashes to
forward slashes
> .
> cURL = "file://" + cURL
> RETURN cURL
> ENDFUNC
>
>
>
>
> *################################################# ###########
> * Draw specific tools
> *################################################# ###########
>
>
> * Page zero is the first page.
> * Once you have a drawing document, obtain one of its pages.
> FUNCTION OOoGetDrawPage( oDrawDoc, nPageNum )
> LOCAL oPages
> oPages = oDrawDoc.GetDrawPages()
> LOCAL oPage
> oPage = oPages.GetByIndex( nPageNum )
> RETURN oPage
> ENDFUNC
>
>
> * Given a draw document, create a shape.
> * The shape must be added to the draw page, by calling
> * the draw page's Add() method.
> * The oPosition and oSize arguments are optional, but you may
> * pass a Point and Size struct for these arguments.
>
> FUNCTION OOoMakeRectangleShape( oDrawDoc, oPosition, oSize )
> LOCAL oShape
> oShape = OOoMakeShape(
oDrawDoc, "com.sun.star.drawing.RectangleShape", oPosit
> ion, oSize )
> RETURN oShape
> ENDFUNC
>
> FUNCTION OOoMakeEllipseShape( oDrawDoc, oPosition, oSize )
> LOCAL oShape
> oShape = OOoMakeShape( oDrawDoc, "com.sun.star.drawing.EllipseShape",
oPositio
> n, oSize )
> RETURN oShape
> ENDFUNC
>
> FUNCTION OOoMakeLineShape( oDrawDoc, oPosition, oSize )
> LOCAL oShape
> oShape = OOoMakeShape( oDrawDoc, "com.sun.star.drawing.LineShape",
oPosition,
> oSize )
> RETURN oShape
> ENDFUNC
>
> FUNCTION OOoMakeTextShape( oDrawDoc, oPosition, oSize )
> LOCAL oShape
> oShape = OOoMakeShape( oDrawDoc, "com.sun.star.drawing.TextShape",
oPosition,
> oSize )
> RETURN oShape
> ENDFUNC
>
>
> * Create and return a Point struct.
> FUNCTION OOoPosition( nX, nY )
> LOCAL oPoint
> oPoint = OOoCreateStruct( "com.sun.star.awt.Point" )
> oPoint.X = nX
> oPoint.Y = nY
> RETURN oPoint
> ENDFUNC
>
> * Create and return a Size struct.
> FUNCTION OOoSize( nWidth, nHeight )
> LOCAL oSize
> oSize = OOoCreateStruct( "com.sun.star.awt.Size" )
> oSize.Width = nWidth
> oSize.Height = nHeight
> RETURN oSize
> ENDFUNC
>
>
> * Given a shape, alter its position.
> PROCEDURE OOoSetPosition( oShape, nX, nY )
> LOCAL oPosition
> oPosition = oShape.Position
> oPosition.X = nX
> oPosition.Y = nY
> oShape.Position = oPosition
> ENDPROC
>
> * Given a shape, alter its size.
> PROCEDURE OOoSetSize( oShape, nWidth, nHeight )
> LOCAL oSize
> oSize = oShape.Size
> oSize.Width = nWidth
> oSize.Height = nHeight
> oShape.Size = oSize
> ENDPROC
>
>
> * Given a draw document, create a shape.
> * Optional: oPosition, oSize can receive a Point or Size struct.
> FUNCTION OOoMakeShape( oDrawDoc, cShapeClassName, oPosition, oSize )
> LOCAL oShape
> oShape = oDrawDoc.CreateInstance( cShapeClassName )
>
> IF (TYPE([oPosition])="O") AND (NOT ISNULL( oPosition ))
> oShape.Position = oPosition
> ENDIF
> IF (TYPE([oSize])="O") AND (NOT ISNULL( oSize ))
> oShape.Size = oSize
> ENDIF
>
> RETURN oShape
> ENDFUNC
>
>
>
> PROCEDURE DoNothing__ErrorHandler( pnError, pcErrMessage, pnLineNo,
pcProgramFi
> leSys16, pcProgram, pcErrorParamSys2018 )
> ext_error=.t.
> WAIT windows ALLTRIM(STR(pnError))+CHR(13)+pcErrMessage+chr(13) +ALLTRIM(STR
(pnL
> ineNo))+CHR(13)+pcProgramFileSys16+CHR(13)+pcProgr am+CHR(13)
+pcErrorParamSys201
> 8 TIMEOUT 2
> ENDPROC
>
>
> * Return the OpenOffice.org service manager object.
> * Cache it in a global variable.
> * Create it if not already cached.
> FUNCTION OOoGetServiceManager()
> IF (TYPE([goOOoServiceManager])!="O") OR ISNULL(
goOOoServiceManager )
> PUBLIC goOOoServiceManager
> goOOoServiceManager = CREATEOBJECT
( "com.sun.star.ServiceManager" )
> ENDIF
> RETURN goOOoServiceManager
> ENDFUNC
>
>
> * Sugar coated routine to ask the service manager to
> * create you an instance of some other OpenOffice.org UNO object.
> FUNCTION OOoServiceManager_CreateInstance( cServiceName )
> LOCAL oServiceManager
> oServiceManager = OOoGetServiceManager()
>
> LOCAL oInstance
> oInstance = .NULL.
>
> LOCAL cOldErrHandler
> cOldErrHandler = ON( "ERROR" )
> ON ERROR = DoNothing__ErrorHandler( ERROR(), MESSAGE(), LINENO(), SYS
(16), PRO
> GRAM(), SYS(2018) )
> oInstance = oServiceManager.createInstance( cServiceName )
> ON ERROR &cOldErrHandler
>
> IF ISNULL( oInstance )
> =__OOoReleaseCachedVars()
> oServiceManager = OOoGetServiceManager()
> oInstance = oServiceManager.createInstance( cServiceName )
> ENDIF
>
> RETURN oInstance
> ENDFUNC
>
>
> * Sugar coated routine to create any UNO struct.
> * Use the Bridge_GetStruct() feature of the OLE-UNO bridge.
> FUNCTION OOoCreateStruct( cTypeName )
> LOCAL oServiceManager
> oServiceManager = OOoGetServiceManager()
>
> LOCAL oStruct
> oStruct = .NULL.
>
> LOCAL cOldErrHandler
> cOldErrHandler = ON( "ERROR" )
> ON ERROR = DoNothing__ErrorHandler( ERROR(), MESSAGE(), LINENO(), SYS
(16), PRO
> GRAM(), SYS(2018) )
> oStruct = oServiceManager.Bridge_GetStruct( cTypeName )
> ON ERROR &cOldErrHandler
>
> IF ISNULL( oStruct )
> =__OOoReleaseCachedVars()
> oServiceManager = OOoGetServiceManager()
> oStruct = oServiceManager.Bridge_GetStruct( cTypeName )
> ENDIF
>
> RETURN oStruct
> ENDFUNC
>
>
> * Return the OpenOffice.org desktop object.
> * Cache it in a global variable.
> * Create it if not already cached.
> FUNCTION OOoGetDesktop()
> IF (TYPE([goOOoDesktop])!="O") OR ISNULL( goOOoDesktop )
> PUBLIC goOOoDesktop
> goOOoDesktop = OOoServiceManager_CreateInstance
( "com.sun.star.frame.Desktop"
> )
> COMARRAY( goOOoDesktop, 10 )
> ENDIF
> RETURN goOOoDesktop
> ENDFUNC
>
>
> *!* * Return an instance of com.sun.star.reflection.CoreReflection.
> *!* * Cache it in a global variable.
> *!* * Create it if not already cached.
> *!* FUNCTION OOoGetCoreReflection()
> *!* IF (TYPE([goOOoCoreReflection])!="O") OR ISNULL(
goOOoCoreReflection )
> *!* PUBLIC goOOoCoreReflection
> *!* goOOoCoreReflection = OOoServiceManager_CreateInstance
( "com.sun.star.ref
> lection.CoreReflection" )
> *!* COMARRAY( goOOoCoreReflection, 10 )
> *!* ENDIF
> *!* RETURN goOOoCoreReflection
> *!* ENDFUNC
>
>
> *!* * Create a UNO struct object and return it.
> *!* * This routine is now obsolete.
> *!* * See a superior implementation of this routine elsewhere
> *!* * which uses the Bridge_GetStruct() feature of the OLE-UNO bridge.
> *!* FUNCTION OOoCreateStruct( cTypeName )
> *!* * Ask service manager for a CoreReflection object.
> *!* LOCAL oCoreReflection
> *!* oCoreReflection = OOoGetCoreReflection()
> *!*
> *!* * Get the IDL Class for the type name.
> *!* LOCAL oXIdlClass
> *!* oXIdlClass = .NULL.
>
> *!* LOCAL cOldErrHandler
> *!* cOldErrHandler = ON( "ERROR" )
> *!* ON ERROR = DoNothing__ErrorHandler( ERROR(), MESSAGE(), LINENO
(), SYS(16),
> PROGRAM(), SYS(2018) )
> *!* oXIdlClass = oCoreReflection.forName( cTypeName )
> *!* ON ERROR &cOldErrHandler
> *!*
> *!* IF ISNULL( oXIdlClass )
> *!* =__OOoReleaseCachedVars()
> *!* oCoreReflection = OOoGetCoreReflection()
> *!* oXIdlClass = oCoreReflection.forName( cTypeName )
> *!* ENDIF
> *!*
> *!* * Create a variable to hold the created Struct.
> *!* * Assign it some initial value.
> *!* LOCAL oStruct
> *!* oStruct = CREATEOBJECT( "relation" ) && assign some kind of
object initial
> ly
>
> *!* * Ask the class definition to create an instance.
> *!* oXIdlClass.CreateObject( @oStruct )
> *!*
> *!* RETURN oStruct
> *!* ENDFUNC
>
>
> * Create a com.sun.star.beans.PropertyValue struct and return it.
> FUNCTION OOoPropertyValue( cName, uValue, nHandle, nState )
> LOCAL oPropertyValue
> oPropertyValue = OOoCreateStruct( "com.sun.star.beans.PropertyValue" )
>
> oPropertyValue.Name = cName
> oPropertyValue.Value = uValue
>
> IF TYPE([nHandle])="N"
> oPropertyValue.Handle = nHandle
> ENDIF
> IF TYPE([nState])="N"
> oPropertyValue.State = nState
> ENDIF
>
> RETURN oPropertyValue
> ENDFUNC
>
>
>
> * Open or Create a document from it's URL.
> * New documents are created by URL's such as:
> * private:factory/sdraw
> * private:factory/swriter
> * private:factory/scalc
> * private:factory/simpress
> FUNCTION OOoOpenURL( cURL )
> * LOCAL oPropertyValue
> * oPropertyValue = OOoCreateStruct( "com.sun.star.beans.PropertyValue" )
>
> * LOCAL ARRAY aNoArgs[1]
> * aNoArgs[1] = oPropertyValue
> * aNoArgs[1].Name = "ReadOnly"
> * aNoArgs[1].Value = .F.
>
> * These two lines replace the alternate version above,
> * which are left commented for the insight they provide.
> LOCAL ARRAY aNoArgs[1]
> aNoArgs[1] = OOoPropertyValue( "Hidden", .F. )
>
> LOCAL oDesktop
> oDesktop = OOoGetDesktop()
>
> LOCAL oDoc
> oDoc = oDesktop.LoadComponentFromUrl( cURL, "_blank", 0, @ aNoargs )
>
> * Make sure that arrays passed to this document are passed zero based.
> COMARRAY( oDoc, 10 )
>
> RETURN oDoc
> ENDFUNC
>
>
> PROCEDURE __OOoReleaseCachedVars()
> RELEASE goOOoServiceManager, goOOoDesktop, goOOoCoreReflection
> ENDPROC
>
>
>
> *################################################# ###########
>
>
> * Experimental stuff
>
>
>
> *SET PROCEDURE TO LibOOo ADDITIVE
> *oDoc = OOoOpenFile( GetDesktopFolderPathname() + "test.sxw" )
>
>
> * This is an attempt to print a document.
> PROCEDURE PrintExperiment( oDoc )
> LOCAL ARRAY aArgs[1]
> aArgs[1] = OOoPropertyValue( "CopyCount", 1, -1, 0 )
> * aArgs[1] = OOoPropertyValue( "Collate", .F. )
>
> oDoc.Print( @ aArgs )
> ENDPROC
>
>
> *################################################# ###########
>
>
>
> ************************************************** **********
> *dodane przez ZKB *
> ************************************************** **********
>
> *procedura opisu pojedynczej linii komórki
> PROCEDURE oOOLine (_width,_color)
>
> IF VARTYPE(_color)<>'C'
> _color=RGB(0,0,0)
> ELSE
> _color=[RGB(]+_color+[)]
> _color=&_color
> ENDIF
>
> IF VARTYPE(_width)<>'N'
> _width=15
> ENDIF
>
> LOCAL oLine
>
>
>
> oLine=OOoCreateStruct("com.sun.star.table.BorderLi ne")
> oLine.Color = _color
> oLine.InnerLineWidth =_width
> oLine.OuterLineWidth =_width
> oLine.LineDistance =0
>
> RETURN oLine
> ENDPROC
>
>
> *procedura opisu wszystkich linii komórki
> PROCEDURE oOOTableBorder
(_oLine,_IsTopLine,_IsBottomLine,_IsLeftLine,_IsRi ghtLi
> ne,_IsHorizontalLine,_IsVerticalLine)
>
> IF VARTYPE(_IsTopLine)<>'L'
> _IsTopLine=.F.
> ENDIF
>
> IF VARTYPE(_IsBottomLine)<>'L'
> _IsBottomLine=.F.
> ENDIF
>
> IF VARTYPE(_IsLeftLine)<>'L'
> _IsLeftLine=.F.
> ENDIF
>
> IF VARTYPE(_IsRightLine)<>'L'
> _IsRightLine=.F.
> ENDIF
>
> IF VARTYPE(_IsHorizontalLine)<>'L'
> _IsHorizontalLine=.F.
> ENDIF
>
> IF VARTYPE(_IsVerticalLine)<>'L'
> _IsVerticalLine=.F.
> ENDIF
>
> LOCAL
oTopLine,oBottomLine,oLeftLine,oRightLine,oHorizLi ne,oVertLine,oTableBord
> er
>
>
> oTopLine =_oLine
> oBottomLine =_oLine
> oLeftLine =_oLine
> oRightLine =_oLine
> oHorizLine =_oLine
> oVertLine =_oLine
>
> oTableBorder=OOoCreateStruct("com.sun.star.table.T ableBorder")
> oTableBorder.TopLine = oTopLine
> oTableBorder.IsTopLineValid = _IsTopLine
> oTableBorder.BottomLine = oBottomLine
> oTableBorder.IsBottomLineValid = _IsBottomLine
> oTableBorder.LeftLine = oLeftLine
> oTableBorder.IsLeftLineValid = _IsLeftLine
> oTableBorder.RightLine = oRightLine
> oTableBorder.IsRightLineValid= _IsRightLine
> oTableBorder.HorizontalLine = oHorizLine
> oTableBorder.IsHorizontalLineValid= _IsHorizontalLine
> oTableBorder.VerticalLine = oVertLine
> oTableBorder.IsVerticalLineValid= _IsVerticalLine
> oTableBorder.Distance = 0
> oTableBorder.IsDistanceValid= .F.
>
> RETURN oTableBorder
> ENDPROC
>
>
> ************************************************** **********
> *dodane przez ZKB koniec *
> ************************************************** **********
>
>
> --nextPart2915305.mFNvdNGT96
> Content-Type: text/plain; name="rap_ookon01.txt"
> Content-Transfer-Encoding: 8Bit
> Content-Disposition: attachment; filename="rap_ookon01.txt"
>
> PARAMETERS _vver,_narkusz
>
> btablica=ALIAS()
>
> *zmienne zewnętrzne
> *ext_rap_firma - nazwa firmy
> *ext_rap_tytul - tytuł raportu
> *ext_ark_tytul - tytuł arkusza
> *ext_ark_name - nazwa arkusza
>
> IF VARTYPE( _vver)='L'
> _vver=1
> ENDIF
>
> IF !_narkusz
> *sprawdzić czy zainstalowany OO
> *SET PROCEDURE TO LibOOo ADDITIVE
> IF !OOoIsInstalled()
> kom('Nie zainstalowano Open Office')
> RETURN
> ENDIF
>
> *otwarcie dokumentu
> oDoc = OOoCreateNewCalcDocument()
>
> *otwarcie arkusza
> oSheet = oDoc.getSheets().getByIndex( 0 )
> ELSE
> oSheet = oDoc.getSheets().getByIndex( 1 )
> ENDIF
>
>
> *określenie szerokości kolumn
> oColumns = oSheet.getColumns()
> oColumnC = oColumns.getByName( "C" )
>
> ****************************************
> *tytuł arkusza *
> *logo firmy napis *
> ****************************************
> oSheet.getCellByPosition( 3, 1 ).setFormula(ext_rap_firma)
> osheet.getCellByPosition( 3, 1 ).CharColor = RGB(255,0,0)
> oSheet.getCellByPosition( 3, 1 ).CharHeight = 18
> oSheet.getCellByPosition( 3, 1 ).CharShadowed = .T.
>
> osheet.getCellRangeByPosition(3,1,4, 1).CellBackColor= RGB(255,200,200)
>
> osheet.getCellByPosition( 3, 1 ).CellBackColor= RGB(255,200,200)
>
> *************
> *data *
> *************
> btext=[Kraków ]+DTOC(DATE())
> oSheet.getCellByPosition( 0, 1 ).setFormula(btext)
>
> **********************
> *tytuł raportu *
> **********************
> btext=ext_rap_tytul+[ - ]+ext_ark_tytul
> oSheet.Name=ext_ark_name
> oSheet.getCellByPosition( 0, 3 ).setFormula(btext)
> osheet.getCellByPosition( 0, 3 ).CharColor = RGB(0,0,255)
> oSheet.getCellByPosition( 0, 3 ).CharHeight = 12
>
>
> DO CASE
>
> CASE _vver=1
>
> **********************
> *Nagłówki kolumn *
> **********************
> bcellrow=5
> boffset=2
>
> *nagłówek L.p
> oSheet.getCellByPosition( 0,bcellrow).setFormula(ALLTRIM('L.p'))
> oColumnC = oColumns.getByIndex(0)
> oColumnC.Width = 1000
>
>
> *nagłówek poziomu
> oSheet.getCellByPosition( 1,bcellrow).setFormula(ALLTRIM('Poz'))
> oColumnC = oColumns.getByIndex(1)
> oColumnC.Width = 1000
>
>
> *nagłówek detal/oz.obce
> oSheet.getCellByPosition( 2,bcellrow).setFormula('Detal / oz.obce')
> oColumnC = oColumns.getByIndex(2)
> oColumnC.Width = 3800
>
> *nagłówek typ
> oSheet.getCellByPosition( 3,bcellrow).setFormula('Typ')
> oColumnC = oColumns.getByIndex(3)
> oColumnC.Width = 1700
>
>
> *nagłówek indeks
> oSheet.getCellByPosition( 4,bcellrow).setFormula('Indeks')
> oColumnC = oColumns.getByIndex(4)
> oColumnC.Width = 4500
>
>
> *nagłówek nazwa
> oSheet.getCellByPosition( 5,bcellrow).setFormula('Nazwa')
> oColumnC = oColumns.getByIndex(5)
> oColumnC.Width = 9000
>
> *nagłówek J.m
> oSheet.getCellByPosition( 6,bcellrow).setFormula('J.m')
> oColumnC = oColumns.getByIndex(6)
> oColumnC.Width = 1700
>
> *nagłówek
> oSheet.getCellByPosition( 7,bcellrow).setFormula('Ilość')
> oColumnC = oColumns.getByIndex(7)
> oColumnC.Width = 1500
>
> boffset=7
>
> bfsel_row_02=bcellrow
> bfsel_col_02=0
> blsel_row_02=bcellrow
> blsel_col_02=boffset
>
> *określenie grubości znaków
> osheet.getCellRangeByPosition
(bfsel_col_02,bfsel_row_02,blsel_col_02,blsel_row_
> 02).CharWeight = 200
>
> *określenie wyrównania komórki
> osheet.getCellRangeByPosition
(bfsel_col_02,bfsel_row_02,blsel_col_02,blsel_row_
> 02).HoriJustify = 2
>
> *określenie ramek wokół nagłówków
> blinia=oOOLine(30)
> osheet.getCellRangeByPosition
(0,bfsel_row_02,blsel_col_02,blsel_row_02).RightBo
> rder = blinia
> osheet.getCellRangeByPosition
(0,bfsel_row_02,blsel_col_02,blsel_row_02).TopBord
> er = blinia
> osheet.getCellRangeByPosition
(0,bfsel_row_02,blsel_col_02,blsel_row_02).BottomB
> order = blinia
> osheet.getCellByPosition(0,bfsel_row_02).LeftBorde r = blinia
>
>
>
> **************************************************
> *Umieszczanie danych liczbowych w pętli *
> **************************************************
> blinia=oOOLine()
> bfsel_row_01=bcellrow+1
> bfsel_col_01=boffset-1
>
> SELECT (btablica) &&pętla na tablicy
> bkon=0
> blp=0
> SCAN &&pętla
>
> bcellrow=bcellrow+1
> blp=blp+1
> *pole ilośći
> oSheet.getCellByPosition( 0,bcellrow).setValue(blp)
> *pole poziomu
> oSheet.getCellByPosition( 1,bcellrow).setValue(poziom)
> *pole detalu
> bdetal=[']+[ ]+SUBSTR(detail_no,1,7)+[ - ]+SUBSTR(detail_no,8,2)+[ - ]
+SUBSTR(
> detail_no,10,3)
> oSheet.getCellByPosition( 2,bcellrow).setFormula(bdetal)
>
> oSheet.getCellByPosition( 3,bcellrow).setFormula(ALLTRIM(grupa))
>
> oSheet.getCellByPosition( 4,bcellrow).setFormula("'"+ALLTRIM(indeks))
>
> IF !empty(descr)
> IF empty(nazwa)
> bdescr=alltrim(descr)
> ELSE
> *bdescr=alltrim(descr)+chr(13)+alltrim(nazwa)
> bdescr=alltrim(descr)+' '+alltrim(nazwa)
>
> ENDIF
> ELSE
> bdescr=alltrim(nazwa)
> ENDIF
>
> oSheet.getCellByPosition( 5,bcellrow).setFormula("'"+ALLTRIM(bdescr))
>
> oSheet.getCellByPosition( 6,bcellrow).setFormula("'"+ALLTRIM
(jednmiary2))
>
> *pole ilośći
> oSheet.getCellByPosition( 7,bcellrow).setValue(ilosc)
>
> ENDSCAN
>
>
> ************************
> *Zakończenie *
> ************************
>
>
> CASE _vver=2
> **********************
> *Nagłówki kolumn *
> **********************
> bcellrow=5
> boffset=2
>
> *nagłówek L.p
> oSheet.getCellByPosition( 0,bcellrow).setFormula(ALLTRIM('L.p'))
> oColumnC = oColumns.getByIndex(0)
> oColumnC.Width = 1000
>
> *nagłówek detal/oz.obce
> oSheet.getCellByPosition( 1,bcellrow).setFormula('Detal')
> oColumnC = oColumns.getByIndex(1)
> oColumnC.Width = 3800
>
> *nagłówek indeks
> oSheet.getCellByPosition( 2,bcellrow).setFormula('Indeks')
> oColumnC = oColumns.getByIndex(2)
> oColumnC.Width = 4500
>
>
> *nagłówek nazwa
> oSheet.getCellByPosition( 3,bcellrow).setFormula('Nazwa')
> oColumnC = oColumns.getByIndex(3)
> oColumnC.Width = 9000
>
>
> *nagłówek
> oSheet.getCellByPosition( 4,bcellrow).setFormula('Ilość')
> oColumnC = oColumns.getByIndex(4)
> oColumnC.Width = 1500
>
> *dostawca
> oSheet.getCellByPosition( 5,bcellrow).setFormula('Producent/Dostawca')
> oColumnC = oColumns.getByIndex(5)
> oColumnC.Width = 5700
>
>
> boffset=5
>
> bfsel_row_02=bcellrow
> bfsel_col_02=0
> blsel_row_02=bcellrow
> blsel_col_02=boffset
>
> *określenie grubości znaków
> osheet.getCellRangeByPosition
(bfsel_col_02,bfsel_row_02,blsel_col_02,blsel_row_
> 02).CharWeight = 200
>
> *określenie wyrównania komórki
> osheet.getCellRangeByPosition
(bfsel_col_02,bfsel_row_02,blsel_col_02,blsel_row_
> 02).HoriJustify = 2
>
> *określenie ramek wokół nagłówków
> blinia=oOOLine(30)
> osheet.getCellRangeByPosition
(0,bfsel_row_02,blsel_col_02,blsel_row_02).RightBo
> rder = blinia
> osheet.getCellRangeByPosition
(0,bfsel_row_02,blsel_col_02,blsel_row_02).TopBord
> er = blinia
> osheet.getCellRangeByPosition
(0,bfsel_row_02,blsel_col_02,blsel_row_02).BottomB
> order = blinia
> osheet.getCellByPosition(0,bfsel_row_02).LeftBorde r = blinia
>
>
>
> **************************************************
> *Umieszczanie danych liczbowych w pętli *
> **************************************************
> blinia=oOOLine()
> bfsel_row_01=bcellrow+1
> bfsel_col_01=boffset-1
>
> SELECT (btablica) &&pętla na tablicy
> bkon=0
> blp=0
> SCAN &&pętla
>
> bcellrow=bcellrow+1
> blp=blp+1
> *pole ilośći
> oSheet.getCellByPosition( 0,bcellrow).setValue(blp)
> *pole detalu
> bdetal=[']+[ ]+SUBSTR(detail_no,1,7)+[ - ]+SUBSTR(detail_no,8,2)+[ - ]
+SUBSTR(
> detail_no,10,3)
> oSheet.getCellByPosition( 1,bcellrow).setFormula(bdetal)
>
> oSheet.getCellByPosition( 2,bcellrow).setFormula("'"+ALLTRIM(indeks))
>
> IF !empty(descr)
> IF empty(nazwa)
> bdescr=alltrim(descr)
> ELSE
> *bdescr=alltrim(descr)+chr(13)+alltrim(nazwa)
> bdescr=alltrim(descr)+' '+alltrim(nazwa)
>
> ENDIF
> ELSE
> bdescr=alltrim(nazwa)
> ENDIF
>
> oSheet.getCellByPosition( 3,bcellrow).setFormula("'"+ALLTRIM(bdescr))
>
> *pole ilośći
> oSheet.getCellByPosition( 4,bcellrow).setValue(ilosc)
>
> oSheet.getCellByPosition( 5,bcellrow).setFormula("'"+ALLTRIM(nazwa0pr)
+' / '+A
> LLTRIM(nazwa1pr))
>
> ENDSCAN
>
>
> ENDCASE
>
> blsel_row_01=bcellrow
> blsel_col_01=boffset
>
>
> *określenie wielkości znaków
> oSheet.getCellRangeByPosition
(0,bfsel_row_01,blsel_col_01,blsel_row_01).CharHei
> ght = 8
>
> *określenie pozycji znaków
> osheet.getCellRangeByPosition(0,bfsel_row_01,0,bls el_row_01).HoriJustify = 2
> osheet.getCellRangeByPosition(4,bfsel_row_01,4,bls el_row_01).HoriJustify = 2
>
> RETURN
>
>
> --nextPart2915305.mFNvdNGT96--

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    =?iso-8859-2?q?Ksi=B1=BFka_Visual_Basic_2005_Express_i_MySQL? = Oracle XE lub DB2 Express-C i wspolpraca z Visual C# 2005 Expess Edition =?iso-8859-2?Q?Pro=B6ba?= do posiadaczy Visual Studio 6 [Microsoft][ODBC Visual FoxPro Driver]Error - Pomocy Microsoft visual C++ runtime error instalacja coreldraw9 BLAD :( Oracle ODT XE dla Visual C# 2005 Express Zagwostka dotyczaca Visual Fox Pro Czy Visual Studio psuje programistów? MySQL i Visual Studio - jak zintegrowac Visual Foxpro 8.0
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-hacjenda.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com