🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.openoffice
2 messages
2 total messages Started by TS Tue, 02 Mar 2010 11:55
[vb6] Kopiowanie komórek w OO bez schowka
#14409
Author: TS
Date: Tue, 02 Mar 2010 11:55
18 lines
2012 bytes
Używam open office do zapisu danych ze swojego programu do excela, czy ktoś
z Was może mi pomóc, mam procedurkę (poniżej), która kopiuje zaznaczone
komórki i wkleja je w wierszu niżej. Używam do tego schowka i działa to
dobrze, jednak chciałbym zrezygnować ze schowka i zrobić to poza nim, jest
taka procedura jak CopyRange w OO ale nie potrafię jej użyć pomimo wielu
znalezionych przykładów w makrach Muszę takie rozwiązanie zrobić w VB6 i być
może tu jest problem...

Set oCells = oSheet.getCellRangeByPosition(0, iRowIndex - 2, iFieldCount -
1, iRowIndex - 2)
oCalcCtrl.Select (oCells)
Call vDispatcher.executeDispatch(oCalcCtrl, ".uno:Copy", "", 0, vNoArg())
Set oCells = oSheet.getCellByPosition(0, iRowIndex - 1)
oCalcCtrl.Select (oCells)
Call vDispatcher.executeDispatch(oCalcCtrl, ".uno:Paste", "", 0, vNoArg())

pozdr
TS 
Re: [vb6] Kopiowanie komórek w OO bez schowka - ROZWIĄZANIE
#14410
Author: TS
Date: Wed, 03 Mar 2010 07:52
27 lines
2428 bytes
> Używam open office do zapisu danych ze swojego programu do excela, czy 
> ktoś
> z Was może mi pomóc, mam procedurkę (poniżej), która kopiuje zaznaczone
> komórki i wkleja je w wierszu niżej. Używam do tego schowka i działa to
> dobrze, jednak chciałbym zrezygnować ze schowka i zrobić to poza nim, jest
> taka procedura jak CopyRange w OO ale nie potrafię jej użyć pomimo wielu
> znalezionych przykładów w makrach Muszę takie rozwiązanie zrobić w VB6 i 
> być
> może tu jest problem...
>
> Set oCells = oSheet.getCellRangeByPosition(0, iRowIndex - 2, iFieldCount -
> 1, iRowIndex - 2)
> oCalcCtrl.Select (oCells)
> Call vDispatcher.executeDispatch(oCalcCtrl, ".uno:Copy", "", 0, vNoArg())
> Set oCells = oSheet.getCellByPosition(0, iRowIndex - 1)
> oCalcCtrl.Select (oCells)
> Call vDispatcher.executeDispatch(oCalcCtrl, ".uno:Paste", "", 0, vNoArg())

Znalazłem rozwiązanie, może komuś się przyda... :)

Set tSourceRange = oSheet.getCellRangeByPosition(0, iRowIndex - 2, 
iFieldCount - 1, iRowIndex - 2).RangeAddress
Set tTargetCell = oSheet.getCellByPosition(0, iRowIndex - 1).CellAddress
Call oSheet.copyRange(tTargetCell, tSourceRange)

pozdr
TS 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads